phpcurlpost文件
⑴ php curl post提交到asp,asp取不到值是為什麼
1.打開curl擴展
2.注意是不是https
3.curl_setopt($ch, CURLOPT_POST, 1),是標識post數據過去
下邊是代碼:
set_time_limit(120);
$ch = curl_init($curl) ;
if($method == 'post'){
curl_setopt($ch, CURLOPT_POST, 1);
}
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true) ;
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true) ;
$output = curl_exec($ch) ;
⑵ PHP相關:用CURL POST文件後,接收頁面只有$_POST數據,$_FILES為空
'file' => @'E:/WEB/PHP/tools/grab/qie.jpg'改為
'file' =>'@E:/WEB/PHP/tools/grab/qie.jpg' 試試
⑶ php curl post抓取數據顯示405,求大家解決
請問樓主解決了嗎?我現在也遇到這樣的問題,一使用 curl的post就 405,都弄了一天了,還沒解決
⑷ PHP curl抓取post重定向鏈接
兩處修改:
1.
'seq' => 'asdasdasd『, 改成
'sequence' => 'asdasasd',
2. 鏈接在你貼的鏈接後面再加combfunc_submit.cgi
結果是那個網址加~mwass/combfunc/combfunc_report.cgi?jobid=
⑸ 怎麼用php的curl發送post請求
$url="http://localhost/web_services.php";
$post_data=array("username"=>"bob","key"=>"12345");
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//post數據
curl_setopt($ch,CURLOPT_POST,1);
//post的變數
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data);
$output=curl_exec($ch);
curl_close($ch);
//列印獲得的數據
print_r($output);
//解釋獲得到的數據到數組中保存$output_array
$output_array=json_decode($output,true);
⑹ php curl post 上傳文件 接收文件 $_FILES 為空 是伺服器配置問題嗎還是什麼原因
原因找到了。就是$data['img']="@/tmp/1.jpg";這句話
一定要用絕對路徑。
$ch=curl_init();
define('_ROOT',str_replace("\",'/',dirname(__FILE__)));
$data['img']="@"._ROOT."/tmp/1.jpg";
curl_setopt($ch,CURLOPT_URL,"http://www.biubiu.com/huahua.php");
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POST,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
$result=curl_exec($ch);
curl_close($ch);
echo$result;
⑺ php curl post怎麼傳值
1、設置請求方式為post
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); #設置post請求
2、設置POST請求內容和請求長度
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);#設置post數據
更多PHP相關的知識,可以參考:PHP程序員,雷雪松的個人博客。
⑻ php使用curl的post方法字元串和數組傳值的區別
區別的話在PHP手冊的curl_setopt函數中,關於CURLOPT_POSTFIELDS有如下描述:
全部數據使用HTTP協議中的"POST"操作來發送。
要發送文件,在文件名前面加上@前綴並使用完整路徑。(5.5+ 建議用CURLFile)
這個參數可以通過urlencoded後的字元串類似'para1=val1¶2=val2&...'
或使用一個以欄位名為鍵值,欄位數據為值的數組。
如果value是一個數組,Content-Type頭將會被設置成multipart/form-data。
因此,這兩種傳值方式是有所區別的。
當然,可以通過CURLOPT_HTTPHEADER指定Content-Type。可能我講的不是很清楚很詳細。你可以去後盾人平台去看看視頻教學的,裡面的視頻教學講的很清楚很詳細。
⑼ 請教一個PHP CURL的POST提交遇到的問題
使用http代替https,然後抓包,看一下http請求到底有什麼不同.
另外,CURLOPT_SSL_VERIFYHOST官方文檔有說明:
禁用後cURL將終止從服務端進行驗證。使用CURLOPT_CAINFO選項設置證書使用CURLOPT_CAPATH選項設置證書目錄 如果CURLOPT_SSL_VERIFYPEER(默認值為2)被啟用,CURLOPT_SSL_VERIFYHOST需要被設置成TRUE否則設置為FALSE。
所以首先你的CURLOPT_SSL_VERIFYPEER是設置為false的,所以CURLOPT_SSL_VERIFYHOST也要為false
還有, 我看請求認證並不是使用http auth, 你為什麼添加curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
最後,官方文檔對於CURLOPT_POSTFIELDS的解釋
如果value是一個數組,Content-Type頭將會被設置成multipart/form-data
而介面文檔中明確說明
請求介面(建議使用post請求,注意不要使用multipart-post):
所以你可以嘗試
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($data));
最後的最後,試試下面的代碼:
全選復制放進筆記<?php
header('Content-Type:text/html;charset=utf-8');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://sendcloud.sohu.com/webapi/list.create.json');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_AUTOREFERER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = array(
'api_user' => '*',
'api_key' => '*',
'address' => '[email protected]',
'name' => 'Abao新建的測試郵件列表',
'description' => '這是Abao新建的測試郵件列表',
);
curl_setopt($ch,CURLOPT_POSTFIELDS, http_build_query($data));
if(false === $result=curl_exec($ch)) {
echo 'false:<br />';
}
var_mp(json_decode($result,true));
curl_close($ch);
有些情況下確實用curl是不行的,淘寶的介面也有這個問題,你可以通過在html頁面用javascript自動跳提交表單來實現