在没有代理的情况下,phpcurl post 在 apache 中失败

问题描述 投票:0回答:2

我有一个从网页(服务器是 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".

任何想法都非常感激。

php apache curl proxy
2个回答
0
投票

哎呀。 我的脚本在帖子中使用了 cookie,并且我构建的 cookie 字符串的开头有空格。 添加“修剪”解决了问题。

抱歉。


0
投票

如果您使用某些代理域名,Linux 操作系统上的

getaddrinfo
可能无法解析该域名。您可以尝试将域名替换为对应的IP地址。

所以,而不是

curl_setopt($ch, CURLOPT_PROXY, "myproxy.host.com:8888");

您可以使用类似(IP 而不是域名)的内容

curl_setopt($ch, CURLOPT_PROXY, "192.1.1.1:8888");
© www.soinside.com 2019 - 2024. All rights reserved.