我可以通过curl执行以下命令来成功创build一个地方: $ curl -vX POST https://server/api/v1/places.json -d " auth_token=B8dsbz4HExMskqUa6Qhn& \ place[name]=Fuelstation Central& \ place[city]=Grossbeeren& \ place[address]=Buschweg 1& \ place[latitude]=52.3601& \ place[longitude]=13.3332& \ place[washing]=true& \ place[founded_at_year]=2000& \ place[products][]=diesel& \ place[products][]=benzin \ " 服务器返回HTTP/1.1 201 Created 。 现在我想将有效载荷存储在如下所示的JSON文件中: // testplace.json { "auth_token" : "B8dsbz4HExMskqUa6Qhn", "name" : "Fuelstation Central", "city" : "Grossbeeren", "address" : "Buschweg 1", "latitude" : […]
我想用CURL发送一个带有url参数的DELETE请求。 我在做: curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3' 但是,服务器没有看到参数id = 3。我尝试使用一些GUI应用程序,当我通过URL为: http://localhost:5000/locations?id=3 ,它的工作原理。 我真的宁愿使用CURL而不是这个GUI应用程序。 任何人都可以指出我做错了什么?
我正在命令行上运行一个curl操作,并且无法强制将标题设置为XML。 我使用-H选项强制Content-Type为xml,但是,一旦我运行该命令,我可以看到标题是作为urlencoded发送的,这是污染我发送的数据值之一。 有人可以向我解释为什么Content-Type总是重置为“application / x-www-form-urlencoded”而不是“application / atom + xml”? 我正在使用它来从YouTube使用他们的API检索上传令牌。 使用类似的命令检索身份validation令牌没有问题。 curl -S -v –location http://gdata.youtube.com/action/GetUploadToken -H Content-Type= text/xml –data content=some xml content here –data GoogleLogin auth="DQAAAHU…..TiU95NXYSLFFENTbNQUy….NjfFoC0nyEKaz-ejEkA_w" -H X-Gdata-Key: key=AI39si5EQyo-_L……78eL80r-MooHXtrA48R82AShoQ -H Content-Length=445
我使用这个语法来发布一个文件以及一些参数: curl -v -include –form "key1=value1" –form upload=localfilename URL 该文件大小约为500K。 首先,我看到发送端的内容长度为254。 后来服务器响应的内容长度是0.我哪里错了? 这里是命令的完整跟踪。 * Couldn't find host xxx.xxx.xxx.xxx in the _netrc file; using defaults * About to connect() to xxx.xxx.xxx.xxx port yyyy (#0) * Trying xxx.xxx.xxx.xxx… * Adding handle: conn: 0x4b96a0 * Adding handle: send: 0 * Adding handle: recv: 0 * Curl_addHandleToPipeline: length: 1 […]
我写了一个bash脚本,它使用curl从网站获取输出,并在html输出上执行一些string操作。 问题是,当我运行它的网站,正在返回其输出gzipped。 在浏览器中的网站工作正常。 当我手动curl时,我得到gzip的输出: $ curl "http://example.com" 以下是该特定网站的标题: HTTP/1.1 200 OK Server: nginx Content-Type: text/html; charset=utf-8 X-Powered-By: PHP/5.2.17 Last-Modified: Sat, 03 Dec 2011 00:07:57 GMT ETag: "6c38e1154f32dbd9ba211db8ad189b27" Expires: Sun, 19 Nov 1978 05:00:00 GMT Cache-Control: must-revalidate Content-Encoding: gzip Content-Length: 7796 Date: Sat, 03 Dec 2011 00:46:22 GMT X-Varnish: 1509870407 1509810501 Age: 504 Via: 1.1 varnish […]
我正在寻找使用nodejs从HTTP请求(即调用远程Web服务,并响应客户端)使用信息。 在PHP中,我会用curl来做到这一点。 节点中的最佳做法是什么?
我已经安装了PHP 7使用这个回购 ,但是当我尝试运行composer install ,它给这个错误: [包]需要ext-curl * – >请求的PHP扩展curl从您的系统中丢失。 使用PHP 5,可以通过运行yum或apt-get install php5-curl命令来轻松安装它,但是我找不到如何安装PHP 7等价物。 如何安装PHP 7的ext-curl?
我使用CURL来获取网站的状态,如果它的上/下或redirect到另一个网站。 我想尽可能精简它,但效果不好。 <?php $ch = curl_init($url); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_TIMEOUT,10); $output = curl_exec($ch); $httpcode = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return $httpcode; ?> 我有这个包裹在一个函数。 它工作正常,但性能不是最好的,因为它下载整个页面,如果我删除$output = curl_exec($ch); 它一直返回0 。 有谁知道如何使performance更好?
我试图将cURL的输出分配给一个variables,如下所示: #!/bin/sh $IP=`curl automation.whatismyip.com/n09230945.asp` echo $IP sed s/IP/$IP/ nsupdate.txt | nsupdate 但是,当我运行脚本时,会发生以下情况: ./update.sh: 3: =[my ip address]: not found 我怎样才能得到正确的输出到$IP ?
假设我在URL“http://mywebsite.com/myscript.txt”中包含一个包含脚本的文件: #!/bin/bash echo "Hello, world!" read -p "What is your name? " name echo "Hello, ${name}!" 我想运行这个脚本,而不是先保存到一个文件。 我该怎么做呢? 现在,我已经看到了语法: bash < <(curl -s http://mywebsite.com/myscript.txt) 但是,如果我保存到一个文件,然后执行,似乎并没有这样的工作。 例如readline不起作用,输出只是: $ bash < <(curl -s http://mywebsite.com/myscript.txt) Hello, world! 同样,我试过了: curl -s http://mywebsite.com/myscript.txt | bash -s — 有了同样的结果。 最初我有一个解决scheme,如: timestamp=`date +%Y%m%d%H%M%S` curl -s http://mywebsite.com/myscript.txt -o /tmp/.myscript.${timestamp}.tmp bash /tmp/.myscript.${timestamp}.tmp rm -f […]