2012-08-09 37 views
0

URL頁面的更新來更新一個網頁(如果你點擊它,它只是一個樣本連接將無法正常工作):https://test-services.zzz111.org/yyy-9/center/api/rest/v1/pols/ZYPK做一個HTTP POST使用C#

我假設我需要做POST在這個URL上。

這裏有一個請求的樣本:

<PolChangeSet schemaVersion="2.1" username="[email protected]" description="Adding a note"> 
    <Attachment name="pic.jpg" contentType="image/jpeg"> 
     <Description/> 
     <Location>https://services.zzz111.com/yyy-9/center/api/sdo/rest/v1/buckets/attachments/objects/6BD0C43B-4608-0EDE-F6DA-919097EFCABF.jpg</Location> 
    </Attachment> 
</PolChangeSet> 

我怎麼會去發送該HTTP POST請求的網址是什麼?

+0

更詳細地解釋一下,你究竟做了什麼?什麼標題和內容你想發佈到該網址等...。 – saber 2012-08-09 22:55:09

回答

1

如果您需要發佈在後端,你可以參考這個http://www.hanselman.com/blog/HTTPPOSTsAndHTTPGETsWithWebClientAndCAndFakingAPostBack.aspx

而且通過xml傳遞URI和Paramaters作爲字符串

我編輯了原始源並將contentType添加爲附加參數。 XML類型爲"application/xml"

public static string HttpPost(string URI, string Parameters, string contentType) 
{ 
    System.Net.WebRequest req = System.Net.WebRequest.Create(URI); 
    req.Proxy = new System.Net.WebProxy(ProxyString, true); 
    //Add these, as we're doing a POST 
    req.ContentType = contentType; 
    req.Method = "POST"; 
    //We need to count how many bytes we're sending. Post'ed Faked Forms should be name=value& 
    byte [] bytes = System.Text.Encoding.ASCII.GetBytes(Parameters); 
    req.ContentLength = bytes.Length; 
    System.IO.Stream os = req.GetRequestStream(); 
    os.Write (bytes, 0, bytes.Length); //Push it out there 
    os.Close(); 
    System.Net.WebResponse resp = req.GetResponse(); 
    if (resp== null) return null; 
    System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()); 
    return sr.ReadToEnd().Trim(); 
} 
+0

感謝傑森,我打算給這個試試:) – Testifier 2012-08-10 13:39:56

+0

爲什麼我需要一個代理呢? – Testifier 2012-08-10 13:42:41

+0

不需要代理,你可以放心地把它拿出來。從演示中,包含它,這樣您可以根據需要添加代理服務器 – 2012-08-13 00:57:49

0

Here is example。 嘗試一下,如果遇到任何困難,請在此處發帖。現在這個問題看起來像「爲我寫代碼」

+0

我已經閱讀過文章,並且已經有了使用POST上傳文件的代碼。但我不確定如何將xml /文本添加到POST正文。 – Testifier 2012-08-09 22:48:49

+0

將request.ContentType更改爲「text/xml」,並使您的示例請求實際爲xml(添加)。 – dantix 2012-08-09 22:50:32