以下是Live HTTP标头的摘录,我已将几个值替换为匿名。如何使用GET和POST参数提出请求?
POST blah/admin.php?module_id=1&action=update&id=129&pageNum=17&&eid=362 HTTP/1.1
Host: blah
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.12) Gecko/20101027 Firefox/3.6.12
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: blah
Cookie: blah
Content-Type: multipart/form-data; boundary=---------------------------21278813472729408841849703914
Content-Length: 5110
-----------------------------21278813472729408841849703914
Content-Disposition: form-data; name="MAX_FILE_SIZE"
300000000
该请求具有GET和POST值。另一端的脚本是PHP,并且希望某些值位于GET中,而另一些位于POST中。
我知道如何发出GET
curl -G -d "key=val" "http://yadayadayada"
而且我知道如何做一个POST
curl -d "key=val" "http://yadayadayada"
curl -F "key=val" "http://yadayadayada"
但我怎么在一个请求将两者搅和?我迄今所做的每一次尝试都以错误结束。
如果你的参数有类似username ='fred johnson'的空格怎么办? – latvian 2013-03-29 14:32:49
@latvian您需要转义空间才能使网址完全安全。在你的情况下,它将是http://www.example.com/index.php?username=fred%20johnson。阅读关于网址编码的信息:http://www.blooberry.com/indexdot/html/topics/urlencoding.htm – Samuel 2013-03-29 14:46:16