我們公司與另一家名爲iMatrix的公司合作,他們有一個用於創建我們自己的表單的API。他們已經確認我們的請求正在觸及他們的服務器,但是響應應該以一種由參數確定的幾種方式返回。我收到了200 OK響應,但響應頭中沒有內容,內容長度爲0。HTTPWebResponse不返回任何內容
這裏是網址: https://secure4.office2office.com/designcenter/api/imx_api_call.asp
我使用這個類:
命名空間WebSumit { 公共枚舉MethodType { POST = 0, GET = 1 }
public class WebSumitter
{
public WebSumitter()
{
}
public string Submit(string URL, Dictionary<string, string> Parameters, MethodType Method)
{
StringBuilder _Content = new StringBuilder();
string _ParametersString = "";
// Prepare Parameters String
foreach (KeyValuePair<string, string> _Parameter in Parameters)
{
_ParametersString = _ParametersString + (_ParametersString != "" ? "&" : "") + string.Format("{0}={1}", _Parameter.Key, _Parameter.Value);
}
// Initialize Web Request
HttpWebRequest _Request = (HttpWebRequest)WebRequest.Create(URL);
// Request Method
_Request.Method = Method == MethodType.POST ? "POST" : (Method == MethodType.GET ? "GET" : "");
_Request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Win32)";
// Send Request
using (StreamWriter _Writer = new StreamWriter(_Request.GetRequestStream(), Encoding.UTF8))
{
_Writer.Write(_ParametersString);
}
// Initialize Web Response
HttpWebResponse _Response = (HttpWebResponse)_Request.GetResponse();
// Get Response
using (StreamReader _Reader = new StreamReader(_Response.GetResponseStream(), Encoding.UTF8))
{
_Content.Append(_Reader.ReadToEnd());
}
return _Content.ToString();
}
}
}
我無法發佈實際參數,因爲它們是針對實時系統的,但是您能否查看此代碼並查看是否有任何遺漏?
謝謝!
http://www.fiddler2.com/fiddler2/ – dthorpe 2010-05-08 00:21:58