2011-12-07 16 views
21

Uygulamadan sunucuya hata bildirimleri göndermek için kullanılan HTML formum var. Bu davranışı programsal olarak taklit etmeliyim. Karşılık gelen POST talebi (veya istekler dizisi) nasıl görünecek?Bir POST isteğinde bir HTML form gönderimini nasıl taklit edebilirim?

<form name="bugreport" method="post" enctype="multipart/form-data" action="http://my-server.com/bugreport.php"> 
    <div name="SentData"> 
     <textarea name="logfile" class="UserVisible"></textarea><br> 
     <textarea name="configfile" class="UserVisible"></textarea><br> 
    </div> 
    <textarea name="usercomment" class="invisible"></textarea><br> 
    <input name="useremail" type="text" class="invisible"> 
    <input class="invisible" type="submit" value="Send"> 
</form> 

cevap

39

POST isteği bir dizi üstbilgiden ve bir istek gövdesinden oluşur. Bir formu, tüm form alanlarının tarayıcı URL encodes adları ve değerleri göndermek ve daha sonra bu biçimde isteği gövdesine koyar Ne zaman:

fieldname1=fieldvalue1&fieldname2=fieldvalue2 

yani istek gövdesi, tipik bir sorgu dizesi gibi görünüyor. İşte


istek formunuz için gibi görünebilir ne:

POST /bugreport.php HTTP/1.1 
Host: www.example.com 
Content-Type: application/x-www-form-urlencoded 
Content-Length: [size of the request body] 

logfile=blabla&configfile=more+blabla&usercomment=hello&useremail= 

incelemek ardından, Firefox ile formu gönderebilir program bir tarayıcı ne yapacağını aynı olduğundan emin olun ve To Firebug 'nin net panelini kullanarak istek üstbilgileri ve gövde.

+0

Teşekkür ederiz! FireBug gerçekten yardımcı oldu (ancak, prensibi bildiğinizde buna ihtiyacınız yok). –

+0

Sunucunun ** üstesinden gelebileceğini varsayarak, HTTP ** protokolü ** ** içerik türü x-www-form-urlencoded için "önemsiz veri" ye izin veriyor mu? Örneğin. logfileblabla & configfile ===== mo + uselo &&& useremail = & = & = & – Pacerier

+0

Teşekkür ederim. Aradığım şey bu. – Joey

İlgili konular