问题标签 [curl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
850 浏览

php - 在 PHP 中使用 cURL 发送帖子数据的正确方法是什么?

在 php 中使用 cURL 在 POST 中发送数据时,您使用将 cURL 选项 CURLOPT_POSTFIELDS 设置为数据

这是一些示例数据 array('foo'=>'bar','ninja'=>'pirate')

现在这就是我感到困惑的地方。

我见过的一半示例代码对数组进行了一些预处理,并将数据编码和压缩成格式正确的 url 字符串。

将我们的数据数组转换为:"foo=bar&ninja=pirate",然后将该字符串设置为 CURLOPT_POSTFIELDS 的数据

但是我看到的另一半示例只是将数组直接传递给 CURLOPT_POSTFIELDS ,仅此而已。

令人困惑的部分在于他们都完成了这项工作。鉴于它们都有效,我认为任何一个都不能说是“正确的”。

我可以看到执行字符串方法的唯一优点是您可以在 url 中设置一个没有类似值的参数"foo=bar&awesome&ninja=pirate",而且我不知道您是否可以通过关联数组来做到这一点,因为您无法拥有没有 out 的键一个值(我不认为),但这似乎是在浪费内存,因为您将整个数组复制到一个字符串中

0 投票
7 回答
56222 浏览

php - 使用 CURL (php) 读取 SSL 页面

我正在尝试使用 php 和 curl 库下载安全(使用 https)网页的内容。

但是,读取失败,我收到错误 60:“SSL 证书问题,验证 CA 证书是否正常。”

还有“详细信息:SSL3_GET_SERVER_CERTIFICATE:证书验证失败”

所以......非常自我解释的错误消息。

我的问题是:如何发送 SSL 证书(正确的?)并获取此页面以验证它并让我进入?

另外,如果您想知道,这是我的选项数组:

任何建议都会很棒,安德鲁

0 投票
4 回答
2371 浏览

php - 使用 CURL 获取内容后将表单序列化为 POST

我想使用 CURL 和 php 发布一个 URL。

网页上有一个大表单,我不想手动复制所有变量并将其放入我的 POST 请求中。

我猜必须有一种方法可以自动序列化表单(使用 DOM 或其他东西),然后只需更改我需要的任何值。

我无法通过谷歌搜索我的出路,所以我想知道是否有人愿意提供帮助。

那么,有没有办法自动序列化一个隐藏在我刚刚从 URL 中提取的一堆 html 内容中的表单?

感谢您的帮助,安德鲁

0 投票
3 回答
3247 浏览

php - 为什么这个使用 CURL 的函数对某些 URL 起作用,而对其他 URL 不起作用?

我正在用 PHP 编写一个网站,该网站聚合来自其他各种网站的数据。我有一个函数“returnPageSource”,它接受一个 URL 并将该 URL 中的 html 作为字符串返回。

这适用于我需要的一些网站,例如 http://atensembl.arabidopsis.info/Arabidopsis_thaliana_TAIR/unisearch?species=Arabidopsis_thaliana_TAIR;idx=;q=At5g02310,但不适用于其他网站,例如http://www.bar .utoronto.ca/efp/cgi-bin/efpWeb.cgi?dataSource=Chemical&modeInput=Absolute&primaryGene=At5g02310&orthoListOn=0。有人知道为什么吗?

更新

感谢您的回复。我已将我的用户代理更改为与我的浏览器相同(Firefox 3,可以正常访问网站),将超时更改为 0,但我仍然无法连接,但我会收到一些错误消息。curl_error() 给我错误“无法连接到主机”,并且 curl_getinfo($ch, CURLINFO_HTTP_CODE); 返回 HTTP 代码 0...这两者都不是很有帮助。我也试过 curl_setopt($ch, CURLOPT_VERBOSE, 1);,但什么也没显示。有人有其他想法吗?

最终更新

我刚刚意识到我没有解释出了什么问题——我只需要输入我大学的代理设置(我正在使用大学的服务器)。之后一切正常!

0 投票
4 回答
9234 浏览

php - 我可以将 CURL 库作为一个类包含在我的 PHP 脚本中吗

我想使用 CURL 库,但我不想硬安装它

我只想做这样的事情

我不确定这是否可能?我在哪里可以找到这个 CURL 类?

谢谢

0 投票
6 回答
3875 浏览

php - cURL - 不允许操作错误

我正在尝试将 cURL 与 PHP 一起使用,它给了我这个错误:

“无法连接到 208.77.188.166:不允许操作”

我很确定这是服务器问题 - 但以防万一,这是我的代码:

在 Apache 上启用了 cURL,我尝试将文件的权限更改为 777。

有任何想法吗?

0 投票
6 回答
142514 浏览

php - PHP cURL,提取 XML 响应

我在服务器上调用 PHP cURL 方法,响应是 XML 类型。cURL 将输出(删除标签后)保存在标量类型变量中。有没有办法将它存储在对象/哈希/数组中以便于解析?

0 投票
2 回答
3969 浏览

python - pycurl 失败,但 curl(来自 bash)在 ubuntu 中工作

我正在使用 curl 和 pycurl 连接到安全的 3rd 方 api,当我使用 pycurl 时,我从服务器收到身份验证错误,但是当我在命令行上使用 curl 并执行相同的操作时,它可以工作。我将两者都设置为详细模式并且看到请求中有一些差异,但我似乎无法弄清楚错误是什么。

他们似乎使用了不同的加密方法,也许这就是问题所在?如果有人对尝试使用 pycurl 的不同选项有想法或建议重新编译 pycurl 以像 curl 一样工作,那就太棒了。谢谢。

这是我的 pycurl 设置,仅供参考:

...

哦,最后一件事:我使用的相同 python 脚本在我的 Mac 笔记本电脑上工作,但在我试图设置的 ubuntu 服务器上不起作用。

0 投票
5 回答
20499 浏览

php - 如何使用 CURL 发送数组?我应该对其进行“urlencode”吗?

当我分配要作为 cURL 选项发布的数据数组时(通过 CURLOPT_POSTFIELDS),我是否需要先对该数据进行 urlencode 或将其处理?

0 投票
3 回答
449 浏览

javascript - HTTP 请求,加载对 HTML 进行的 javascript DOM 操作

我目前正在使用cURL来执行 HTTP 请求,并且效果很好。但是,我需要获取 javascript 代码并在 HTML 的上下文中执行它,使其像操作 Web 浏览器一样操作 DOM。

首先想到的是使用firefox,有一个命令行界面,所以我认为以编程方式执行 HTTP 请求会很容易(可能有一些附加组件),让它本机运行 javascript 并操作 DOM , 并得到操作后生成的 HTML。

然而,这比我预期的要难,因为异步获取数据会出现问题。

也许有人已经这样做了,可以给我一些关于什么是最好的解决方案的提示。