我有一个从网页(服务器是 Apache debian 6.03)调用的 php 脚本,它使用curl 执行 GET 和 POST。 GET 没问题。如果 php curl 直接连接到网络,则 POST 会失败,但如果我使用 charles 作为代理,则工作正常。 (没有尝试过其他代理。)
特别是,如果我添加
curl_setopt($ch, CURLOPT_PROXY, "localhost:8888" );
我的脚本(查尔斯在 8888 上运行)它成功了。 否则我会得到:
"HTTP/1.1 400 Bad Request".
任何想法都非常感激。
哎呀。 我的脚本在帖子中使用了 cookie,并且我构建的 cookie 字符串的开头有空格。 添加“修剪”解决了问题。
抱歉。
如果您使用某些代理域名,Linux 操作系统上的
getaddrinfo
可能无法解析该域名。您可以尝试将域名替换为对应的IP地址。
所以,而不是
curl_setopt($ch, CURLOPT_PROXY, "myproxy.host.com:8888");
您可以使用类似(IP 而不是域名)的内容
curl_setopt($ch, CURLOPT_PROXY, "192.1.1.1:8888");