Php curl保持活动连接
根据: “请确保保持连接处于活动状态,以便在发送请求时可以重用HTTP套接字,并充分利用您的帐户吞吐量(5条短信/秒)。最佳做法是利用HTTP 1/1并保持连接处于活动状态,以便每次发送新请求时都不需要打开另一个HTTP连接。” 我已经阅读了一些信息,试图使用curl保持连接,但我无法使用http套接字发送5条短信 解决办法是什么 我试过:Php curl保持活动连接,php,curl,throttling,nexmo,Php,Curl,Throttling,Nexmo,根据: “请确保保持连接处于活动状态,以便在发送请求时可以重用HTTP套接字,并充分利用您的帐户吞吐量(5条短信/秒)。最佳做法是利用HTTP 1/1并保持连接处于活动状态,以便每次发送新请求时都不需要打开另一个HTTP连接。” 我已经阅读了一些信息,试图使用curl保持连接,但我无法使用http套接字发送5条短信 解决办法是什么 我试过: curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); 没有成功 我试图删除: cu
curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
没有成功
我试图删除:
curl_close($ch);
也没有成功
我无法找到一个好方法来保持我的连接,以便发送短信的nexmo需要
谁知道如何继续?发送多条消息和使用
保持活动状态是两件不同的事情。使用Nexmo(如常见问题所述),每个HTTP请求只能发送一条短信。要发送多条SMS,您只需发出多个HTTP请求
默认情况下,Nexmo将允许您的帐户每秒向SMS API发出5个请求。如果您想最大限度地提高吞吐量,您需要确保您以尽可能快的速度发出请求(或者说,至少以5/秒的速率限制)
这就是保持活动状态
的作用,确保您尽可能快地发送请求。curl\u setop
文档引用了一个CURLOPT\u禁止重用
,它允许:
如果为TRUE,则在连接完成处理后强制显式关闭连接,而不是进行池化以供重用
因此,默认情况下,curl尝试使用保持活动状态
,前提是重用curl句柄。有关这方面的更多详细信息,请参阅
从披露中借用此代码(我是这些代码的作者):
您是否尝试过设置curl_setopt($ch,CURLOPT_HTTPHEADER,array(“连接:保持活动”)代码>?@user3584460我还没试过。你是在你的代码中使用这个,还是只是一个建议?只是一个建议。如果我确信它在这种特殊情况下会起作用,我会发布一个答案。谢谢,在做一些测试之前,我会等待更多的建议。我将你的答案设置为良好,但我以不同的方式解决了我的问题。事实上,当从法国号码向法国接收者发送短信时,有一些限制。为了解决这个问题,我现在从一个加拿大号码发送短信。我现在没有速度限制。
<?php
$url = 'https://rest.nexmo.com/sms/json?' . http_build_query([
'api_key' => API_KEY,
'api_secret' => API_SECRET,
'to' => YOUR_NUMBER,
'from' => NEXMO_NUMBER,
'text' => 'Hello from Nexmo'
]);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);