小编Myi*_*ael的帖子

使用.NET将文件发布到服务器HttpWebRequest或WebClient

好的,这是交易.正如问题所述,我正在尝试将文件发布到网络服务器并且遇到一些问题.

我尝试使用Curl.exe将同一个文件发布到同一个Web服务器,并且没有任何问题.我已经发布了我用curl的标志,因为他们可能会指出我为什么遇到.NET类问题的任何潜在原因.

curl.exe --user "myUser:myPass" --header "Content-Type: application/gzip"  
--data-binary "@filename.txt.gz" --cookie "data=service; data-ver=2; date=20100212;  
time=0900; location=1234" --output "out.txt" --dump-header "header.txt"  
http://mysite/receive
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用像WebClient或HttpWebRequest这样的.NET类来做同样的事情.这是我尝试过的代码示例.使用WebClient,我得到505 HTTP版本不支持错误,并且使用HttpWebRequest我得到501 Not Implemented.

使用WebClient尝试时:

public void sendFileClient(string path){
    string url = "http://mysite/receive";  
    WebClient wc = new WebClient();  
    string USERNAME = "myUser";  
    string PSSWD = "myPass";  

    NetworkCredential creds = new NetworkCredential(USERNAME, PSSWD);  
    wc.Credentials = creds;  
    wc.Headers.Set(HttpRequestHeader.ContentType, "application/gzip");  
    wc.Headers.Set("Cookie", "location=1234; date=20100226; time=1630; data=service; data-ver=2");  

    wc.UploadFile(url, "POST", path);
}
Run Code Online (Sandbox Code Playgroud)

在使用HttpRequest时:

public Stream sendFile(string path)
{
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://myserver/receive");  
    string USERNAME …
Run Code Online (Sandbox Code Playgroud)

.net c# post webrequest httpwebresponse

8
推荐指数
1
解决办法
8238
查看次数

标签 统计

.net ×1

c# ×1

httpwebresponse ×1

post ×1

webrequest ×1