curl_setopt($ch, CURLOPT_POSTFIELDS, $postfield); //設定POST提交的字串
1.其中這裡的 CURLOPT_POSTFIELDS是儲存在http的Header中還是哪裡?
2.與網頁中表單Form的Post方式有何區別?
我是做DELPHI的,然後IDHTTP控制項類比網頁的POST方式,但與PHP的這個好像有點區別。
$postfield這裡的只看到有指定值,沒看到有指定NAME屬性哎。
回複討論(解決方案)
$postfield 是將表單所有的name和value按照索引值對方式用&串連起來的字串
依據http協議,它不屬於header,而是本文(與header部分理應有\r\n\r\n隔開)
$postfield 是將表單所有的name和value按照索引值對方式用&串連起來的字串
依據http協議,它不屬於header,而是本文(與header部分理應有\r\n\r\n隔開) POST方式的話是用換行隔開的嗎?如果不指定他的NAME只有一個VALUE提交上去是啥結果呀?
合法的格式應該是 類似'para1=val1¶2=val2&...'或使用一個以欄位名為索引值,欄位資料為值的數組
你只傳value,那麼目標頁面就無法擷取你提交的值咯。
無論什麼方式,提交就是發送字串而已,一般post是由瀏覽器做這個事
curl只是類比post,只是把一些參數組織起來發送,代替了瀏覽器
你兩個delphi月排行第一,應該也做過socket吧,socket不就是把字串按照http規範拼接起來發送嗎?
我都說了是索引值對,就必然有name了
name=abcdefg&password=123456...
只有value,結果就是服務端找不到所需要的變數?
無論什麼方式,提交就是發送字串而已,一般post是由瀏覽器做這個事
curl只是類比post,只是把一些參數組織起來發送,代替了瀏覽器
你兩個delphi月排行第一,應該也做過socket吧,socket不就是把字串按照http規範拼接起來發送嗎?
我都說了是索引值對,就必然有name了
name=abcdefg&password=123456...
只有value,結果就是服務端找不到所需要的變數? 謝謝兩位,問題已解決!