标签: curl

如何通过代理使用CURL?

我想设置curl使用代理服务器.网址由html表单提供,这不是问题.没有代理,它工作正常.我在这个和其他网站上找到了代码,但它们不起作用.任何帮助找到正确的解决方案将非常感激.我觉得波纹管很接近,但我错过了一些东西.谢谢.

我在这里改编的波纹管代码http://www.webmasterworld.com/forum88/10572.htm,但它返回了第12行丢失的T_VARIABLE的错误消息.

<?

$url = '$_POST[1]';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 0);
curl_setopt($ch, CURLOPT_PROXY, '66.96.200.39:80');
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST,'GET');
curl_setopt ($ch, CURLOPT_HEADER, 1)
curl_exec ($ch); 
$curl_info = curl_getinfo($ch);
curl_close($ch);
echo '<br />';
print_r($curl_info);
?>
Run Code Online (Sandbox Code Playgroud)

波纹管从卷曲到代理返回没有内容

<?

$proxy = "66.96.200.39:80";
$proxy = explode(':', $proxy);
$url = "$_POST[1]";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy[0]);
curl_setopt($ch, CURLOPT_PROXYPORT, $proxy[1]);
curl_setopt($ch, CURLOPT_HEADER, 1);

$exec = curl_exec($ch);

echo curl_error($ch);
print_r(curl_getinfo($ch));
echo …
Run Code Online (Sandbox Code Playgroud)

php proxy curl php-curl

121
推荐指数
2
解决办法
29万
查看次数

curl:(1)libcurl中不支持或禁用协议https

我正在尝试在Ubuntu 11.04上安装Rails环境.当我启动命令时rvm install 1.9.2 --with-openssl-dir=/usr/local,收到以下错误:

curl : (1) Protocol https not supported or disabled in libcurl
Run Code Online (Sandbox Code Playgroud)

怎么解决这个问题?

curl openssl ruby-on-rails libcurl ubuntu-11.04

121
推荐指数
8
解决办法
17万
查看次数

如何使用PHP cURL发布JSON数据?

这是我的代码,

$url = 'url_to_post';
$data = array(
    "first_name" => "First name",
    "last_name" => "last name",
    "email"=>"email@gmail.com",
    "addresses" => array (
        "address1" => "some address",
        "city" => "city",
        "country" => "CA",
        "first_name" =>  "Mother",
        "last_name" =>  "Lastnameson",
        "phone" => "555-1212",
        "province" => "ON",
        "zip" => "123 ABC"
    )
);
$data_string = json_encode($data);
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, array("customer"=>$data_string));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
    array(
        'Content-Type:application/json',
        'Content-Length: ' . strlen($data_string)
    )
);

$result = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

在其他页面,我正在检索发布数据.

    print_r ($_POST);
Run Code Online (Sandbox Code Playgroud)

输出是

HTTP/1.1 …
Run Code Online (Sandbox Code Playgroud)

php rest json curl

115
推荐指数
6
解决办法
26万
查看次数

为什么CURL返回和错误(23)写入正文失败?

它作为一个工具正常工作:

curl "someURL"
curl -o - "someURL"
Run Code Online (Sandbox Code Playgroud)

但它不适用于管道:

curl "someURL" | tr -d '\n'
curl -o - "someURL" | tr -d '\n'
Run Code Online (Sandbox Code Playgroud)

它返回:

(23) Failed writing body
Run Code Online (Sandbox Code Playgroud)

卷曲输出管道有什么问题?如何缓冲整个curl输出然后处理它?

macos bash curl pipe osx-lion

115
推荐指数
11
解决办法
18万
查看次数

在PHP中使用cURL的RAW POST

如何使用cURL在PHP中执行RAW POST?

没有任何编码的原始帖子,我的数据存储在一个字符串中.数据应格式如下:

... usual HTTP header ...
Content-Length: 1039
Content-Type: text/plain

89c5fdataasdhf kajshfd akjshfksa hfdkjsa falkjshfsa
ajshd fkjsahfd lkjsahflksahfdlkashfhsadkjfsalhfd
ajshdfhsafiahfiuwhflsf this is just data from a string
more data kjahfdhsakjfhsalkjfdhalksfd
Run Code Online (Sandbox Code Playgroud)

一种选择是手动编写正在发送的整个HTTP标头,但这似乎不太理想.

无论如何,我可以只将选项传递给curl_setopt(),说使用POST,使用text/plain,并从一个$variable?发送原始数据?

php post curl put

114
推荐指数
2
解决办法
16万
查看次数

Python中的CURL替代方案

我有一个在PHP中使用的cURL调用:

curl -i -H'接受:application/xml'-u login:key" https://app.streamsend.com/emails "

我需要一种在Python中做同样事情的方法.在Python中是否有替代cURL的方法.我知道urllib,但我是一个Python noob,不知道如何使用它.

python curl

114
推荐指数
7
解决办法
23万
查看次数

curl -GET和-X GET

Curl提供了一系列不同的http方法调用,它们以X为前缀,但也提供了相同的方法.我已经试过了两个,我似乎无法找出差异.有人可以快速向我解释这两种操作有何不同?

curl http-method

111
推荐指数
2
解决办法
16万
查看次数

使用json参数进行Curl GET请求

我试图通过cURL从命令提示符向远程REST API发送"GET"请求,如下所示:

curl -X GET -H "Content-type: application/json" -H "Accept: application/json"  "http://server:5050/a/c/getName/{"param0":"pradeep"}"
Run Code Online (Sandbox Code Playgroud)

但它没有返回任何输出.我试图直接从浏览器ping URL,我能够成功获得响应,我不明白该命令有什么问题.

基本上我想为远程REST服务设置一个"GET"请求,它通过curl给我一个json数据作为响应.任何人都可以指导我,我在做什么错误?我尝试了各种帖子,但他们所有人都在谈论不是关于GET的POST请求.

rest json curl

111
推荐指数
5
解决办法
39万
查看次数

从命令行使用CURL进行https连接

我是Curl和Cacerts世界的新手,在连接服务器时遇到问题.基本上,我需要测试从一台机器到另一台机器的https连接.我有一个我需要从机器A(Linux机器)连接的URL我在命令提示符下尝试了这个

cmd> curl https://[my domain or IP address]
Run Code Online (Sandbox Code Playgroud)

并得到以下:

curl: (60) SSL certificate problem, verify that the CA cert is OK. Details:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Run Code Online (Sandbox Code Playgroud)

通过互联网上的一些文章我做了这个:

openssl s_client -connect <domain name or Ip address>:443
Run Code Online (Sandbox Code Playgroud)

并获得一些响应,包括服务器证书(内部-----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----).

接下来我该怎么办?我想,我只需要复制粘贴文本 BEGIN CERTIFICATE & END CERTIFICATE并将其保存在文件中.但是,它应该是什么类型的文件?.pem,.crt?那之后该怎么办?

我试过这个 - 复制里面的文本BEGIN CERTIFICATE & END CERTIFICATE并将其保存在一个.crt文件中 - 将其命名为my-ca.crt(也通过将其命名为my-ca.pem文件来尝试同样的事情),然后执行此操作:

cmd>curl --cacert my-ca.crt https://[my domain or IP address]
Run Code Online (Sandbox Code Playgroud)

但得到了同样的错误.

ssl https command-line curl certificate

110
推荐指数
6
解决办法
64万
查看次数

通过终端curl json post请求到rails应用程序

我正在尝试使用os x终端的curl命令在我的rails应用程序上创建用户.无论我如何格式化数据,应用程序都会返回不通过验证的响应.

curl http://localhost:3000/api/1/users.json -i -X POST -d {"user":{"first_name":"firstname","last_name":"lastname","email":"email@email.com","password":"app123","password_confirmation":"app123"}}"
Run Code Online (Sandbox Code Playgroud)

我尝试了各种变化.我尝试使用[]括号,我尝试过user = {data ..},似乎没有任何效果.有任何想法吗?

macos terminal json curl ruby-on-rails-3

109
推荐指数
1
解决办法
9万
查看次数