草庐IT

mod_curl

全部标签

php - 多个 curl 请求,何时关闭句柄?

我对curl的init()和close()函数感到困惑。我想知道在每种情况下我应该什么时候关闭curl句柄:1.使用单个句柄获取具有不同选项的“单个”URL。例如:$curl=curl_init('google.com');curl_setopt($curl,CURLOPT_FOLLOWLOCATION,true);curl_exec($curl);现在我想将FOLLOWLOCATION设置为false。我应该执行curl_close($curl),然后从头开始执行所有操作,还是只设置选项并像这样再次执行它:curl_setopt($curl,CURLOPT_FOLLOWLOCATIO

php - 使用 curl 登录到 https 站点

我正在尝试登录网站。该站点使用自动提交和随secret钥来提交表单。我尝试了几种方法,但无法通过。所以这是我的代码。任何答案将不胜感激。提前致谢。对于那些想尝试的人,我的假帐户通行证和用户名也可以在代码中使用。我的网址有点长include'simple_html_dom.php';$i=0;$html=file_get_html($url);foreach($html->find('input')as$keys){$ltkey=$keys->value;if(++$i==1)break;}$url='https://auth.station.sony.com/login?theme=p

php - Drupal 7 - 使用 PHP Curl 为用户更新服务

我正在使用Drupal7和服务模块,并且正在尝试使用PHP和Curl更新用户配置文件。在发送“PUT/更新”之前我是否总是必须登录?到目前为止,这是我的代码:'user2','password'=>'pass1',);//cURL$curl=curl_init();curl_setopt($curl,CURLOPT_URL,$request_url);curl_setopt($curl,CURLOPT_POST,1);//DoaregularHTTPPOSTcurl_setopt($curl,CURLOPT_HTTPHEADER,array('Content-Type:applicat

php - 如何在 Guzzle 中捕获 cURL 使用的 IP?

我正在使用Goutte(内部使用Guzzle)进行网络抓取项目。我正在开发自定义速率限制器,因此我将所有HTTP操作存储到针对IP的数据库表中,这样我就可以检查是否在最近的时间范围内对主机进行了调用。目前我正在使用gethostbyname将已知主机名转换为IP地址,但Guzzle已经进行了查找,因此这可能会造成浪费。此外,主机名可能会解析为多个IP地址(因此需要gethostbynamel),因此我自己派生的IP实际上可能不是Guzzle使用的IP地址(尽管我猜测,那里可能是PHP级别的一些缓存,这可能使gethostbyname返回正确的结果)。我已经为Guzzle订阅了一个插件,

php - 如何防止 curl 或 file_get_contents 从服务器端访问我的页面

我在大约2小时内遇到了一个问题。谁能提供解决方案,我将不胜感激。http://mydowmin.com/userdatapage.php注意:我不想使用Curl函数从外部世界访问此页面如何避免这个脚本$ch=curl_init("http://mydowmin.com/userdatapage.php");curl_setopt($ch,CURLOPT_CERTINFO,1);curl_setopt($ch,CURLOPT_VERBOSE,1);curl_exec($ch)ordie;print_r(curl_getinfo($ch));http://mydomain.com/data

php - CURLOPT_FILE、curl_multi_exec 和 fclose

我构建了一个curl类,可以使用curl_multi_init并行下载图像。下载功能如下publicfunctiondownload(AbstractRequest$request,$f){//Initiateanewcurl$ch=curl_init();//Setcurloptionscurl_setopt_array($ch,[CURLOPT_URL=>$request->getUrl(),CURLOPT_FILE=>$f,CURLOPT_TIMEOUT=>99,]);//Addtocurlmultihandlecurl_multi_add_handle($this->multi

php - 如何在 PHP 中发送没有请求数据的 cURL POST?

我的目标是向服务器发送POST请求并获得正确的响应。注意:尖括号代表占位符。在终端中,使用以下代码将为我提供所需的响应。curl-u:-H'Content-Type:application/xml'-XPOSThttps://我当前的PHP看起来像这样:$ch=curl_init();curl_setopt($ch,CURLOPT_URL,$uri);//$uriisthesamethatIuseinterminalcurl_setopt($ch,CURLOPT_USERPWD,sprintf('%s:%s',$user,$pass));//sameasterminaluser&pas

php - 使用 curl 下载 flurry 事件日志

我开始使用FlurryAnalytics,发现它的分析工具不足且速度太慢。包含3个步骤的简单漏斗处理了3天,而使用3个左连接的正常查询在具有100,000行的表上花费了0,001秒。Flurry允许在事件日志页面上以csv格式下载原始事件数据,因此我决定导入所有事件并在家进行分析。Flurry只允许下载100,000条记录,他们建议经常下载以符合此限制。他们有原始事件下载API,但出于某种原因放弃了它。所以唯一的方法是转到事件日志页面并手动下载事件数据。但是正如您想象的那样,这非常烦人。所以我决定在php中使用curl获取这些数据。我已经复制了GETHTTP请求以下载带有header的

php - 如何通过 cURL/PHP 使用 PUT 方法将 JSON 数据发送到 API

我正在尝试使用cURL/PHP连接到API。我需要在发送JSON数据时向此API添加一个方法。这是我的参数$data=array('__type'=>'urn:inin.com:connection:workstationSettings');这是我进行cURL调用的方式privatefunction_makeCall($method,$uri,$data=false,$header=NULL,&$httpRespond=array()){$ch=curl_init();$url=$this->_baseURL.$uri;if(($method=='POST'||$method=='P

php - 使用 PHP 的 POST CURL 请求获取错误 'No authorization header passed' - envato api

我开始使用EnavatoAPI到目前为止,我已经创建了一个应用程序,获得了client_id和client_secret并设法从https获取了codeaccess_key://api.envato.com/authorization之后我使用下面的php代码发出POSTcurl请求$client_id='***********';$client_secret='***********';$redirect_uri=urlencode('http://localhost:3000');if(isset($_GET["code"])):$apiUrl='https://api.envat