问题标签 [libcurl]

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 投票
7 回答
7519 浏览

php - 我如何 CURL www.google.com - 它不断将我重定向到 .co.uk

我正在使用 CURL 检查是否存在 URL(HEAD 请求),但是当我使用 测试它时www.google.com,它会将我重定向到www.google.co.uk- 可能是因为我的服务器位于英国。

有没有办法阻止这种情况发生?我不想删除该CURLOPT_FOLLOWLOCATION选项,因为这对 301 重定向等很有用。

我的部分代码如下;

$data['url']包含www.google.co.uk当我设置$urlwww.google.com

0 投票
8 回答
62448 浏览

php - 发送 POST 请求而不等待响应?

我正在编写一个简单的 REST 服务,它响应来自客户端的请求。全部在 PHP 中。

我担心的是,当我的服务器响应请求时,如果客户端发回“ok”响应的速度太慢,它最终可能会占用资源。

如何通过 lib_curl 发送 POST 请求,将其设置为不等待任何响应,而是在发送 POST 数据后立即退出?

这甚至可能吗?谢谢 !

0 投票
2 回答
4923 浏览

php - 如何限制 cURL 使用的并发连接

我使用 PHP(和 cURL)制作了一个简单的网络爬虫。它解析大约 60 000 个 html 页面并检索产品信息(它是 Intranet 上的一个工具)。

我主要关心的是并发连接。我想限制连接数,所以无论发生什么,爬虫都不会使用超过 15 个并发连接。

每当 IP 达到 25 个并发连接的限制时,服务器都会阻止 IP,由于某种原因,我无法在服务器端更改它,所以我必须找到一种方法让我的脚本永远不会使用超过 X 个并发连接.

这可能吗?

或者也许我应该用另一种语言重写整个事情?

谢谢,任何帮助表示赞赏!

0 投票
2 回答
4607 浏览

python - pycurl install :( 已经有最小的 libcurl 版本

我在 Intel Mac OS X 10.5 上运行 python 2.6

我正在尝试安装 pycurl 7.16.2.1(此处推荐http://curl.haxx.se/mail/curlpython-2009-03/0009.html),但由于某种原因,安装会看到我的 libcurl 7.16.3 ,但它仍然坚持我安装 7.16.2 或更高版本(7.16.3 不满足吗?)

这是错误输出:

可以肯定 curl-config --version 产生 libcurl 7.16.3

有什么建议吗?我应该升级 libcurl,还是坚持使用出厂默认库?

==回复后添加了更多细节==

AFAIK 我拥有的 python 是出厂默认设置(我自己不是从 python.org 得到的)

这是我的卷曲版本。看起来具有误导性,因为我使用的是英特尔 Macbook,而不是 PPC。

我将使用与我现有的 python 解释器一起使用的任何 pycurl

我确实有端口:

0 投票
2 回答
3553 浏览

c++ - cURL - Linux 上的“挂起”套接字连接

我有一个程序可以将 POST 请求发送到服务器。
我正在使用 cURL 发送请求。
我的程序在 Windows 和 Linux 上运行(目前是 Ubuntu 9.10)。

当服务器收到请求时,它会处理它并返回错误代码(如果没有错误,则返回 0000)和错误描述(如果有)。
服务器的 Web 服务器是 Microsoft IIS。

当我在 Windows 上运行我的程序时,它运行良好。
但是当我在 Linux 上运行程序时,它会挂起 30 秒(cURL 超时)并返回错误“操作在 30000 毫秒后超时,收到 5 个字节”。
正如我所知道的服务器端的问题 - 服务器不发送响应的大小并且不关闭套接字连接。

cURL 日志(来自 Linux):

在 Windows 上的日志几乎相同,但没有超时 - 它在收到“0000”后立即关闭套接字。

如果我得到“0000”,我可以分析接收到的数据并关闭连接,但这是一个“肮脏的黑客”。

有任何想法吗?

0 投票
2 回答
961 浏览

c++ - 如何(即使用什么工具)监控 Curl 发送的标头(Cookie 问题)

我在 C++ 应用程序中使用 Curl (libcurl),并且无法发送 cookie(我认为)。

我安装了 Fiddler、TamperData 和 LiveHTTP 标头,但它们仅对查看浏览器流量有用,并且(似乎)无法监控机器上的一般网络流量,所以当我运行我的机器时,我看不到标头信息被发送。但是,当我在浏览器中查看页面时,成功登录后,我可以看到正在发送 cookie 信息。

运行我的应用程序时,我成功登录到该页面,当我随后尝试获取另一个页面时,(页面)数据表明我没有登录 - 即“状态”不知何故丢失了。

我的 C++ 代码看起来不错,所以我不知道出了什么问题 - 这就是我需要这样做的原因:

  1. 首先能够查看我的机器网络流量(不仅仅是浏览器流量)- 哪个(免费)工具?

  2. 假设我错误地使用 Curl,我的代码有什么问题?(cookies 正在被检索和存储,似乎它们只是由于某种原因没有随请求一起发送。

这是我的课程中处理 Http 请求的 cookie 方面的部分:

上面的代码有什么问题吗?

0 投票
4 回答
107144 浏览

c - C libcurl 将输出转换为字符串

我想将此 curl 函数的结果存储在一个变量中,我该怎么做?

谢谢,我是这样解决的:

0 投票
3 回答
2050 浏览

ruby - 在 Mac Snow Leopard 上遇到 Curb gem 问题

这占用了我几个小时的时间。

在我运行的控制台中:需要'curb'

我得到错误:

我已经尝试卸载 gem 并使用 ARCHFLAGS="-arch i386" 重新安装多个版本 安装中没有给出错误或警告当我尝试安装时:rake install 我也收到此错误。

我正在使用 ruby​​ 1.8 开发 mac ox 10.6

我注意到我的 /usr/lib 文件夹中有 libcurl.4.dylib、libcurl.3.dylib、libcurl.2.dlib 和 libcurl.dylib...

我安装了最新的 7.20 curl 包。

我也尝试从源安装并收到此错误

建议?

0 投票
3 回答
15519 浏览

c++ - libcurl HTTP 请求将响应保存到变量中 - c++

我正在尝试将 HTTP 请求返回的数据保存到变量中。

下面的代码将自动打印请求的响应,但我需要它来保存对字符或字符串的响应。

0 投票
3 回答
1265 浏览

python - pycurl 和很多回调函数

我有很大的 URL 列表,我必须并行下载并检查每个响应返回的标题之一。

我可以使用CurlMulti进行并行化。我可以/dev/null用作 fb,因为我对正文不感兴趣,只对标题感兴趣。

但是如何检查每个标题?

要接收标头,我必须设置 HEADERFUNCTION 回调。我明白了。

但是在这个回调函数中,我只得到带有标题的缓冲区。如何区分一个请求和另一个请求?

我不喜欢创建与 URL 一样多的回调函数的想法。我应该创建一些类和该类的尽可能多的实例吗?也不是很聪明。