[英]Why does a link with “@” work in my browser but C# HttpWebRequest gives 404 (The remote server returned an error: (405) Method Not Allowed.)
[英]C# How to solve Web Client Upload file “The remote server returned an error: (405) Method Not Allowed.”?
您好,我想将我本地的 html 文件上传到服务器中的远程文件夹,该文件夹包含带有地理服务器元素的数据目录,这是我的代码:
public void CopyWS(string SourcePath, string DestinationPath)
{
try
{
string SourcePath = Path.GetFullPath("Result.html");
string DestinationPath = @"http://xx.xx.xxx.:8080/geoserver/rest/workspaces/";
string authInfo = "admin:geoserver";
WebClient client = new WebClient();
client.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes(authInfo));
client.UploadFile(DestinationPath, "PUT", SourcePath);
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
我收到以下错误“不允许使用错误 405 方法”。 我正在尝试使用不同的方法,例如post而不是put ,但我遇到了同样的错误。
编辑:有人认为这可能是一个安全问题吗? 使用 UploadData 我得到了同样的错误
编辑:在用不同的方法(即UploadDatat ie)进行长时间测试后,我总是遇到同样的错误。我一直在搜索和阅读,但没有发现任何真正有用的东西。
编辑:有什么想法吗?
提前致谢
PUT
未配置...通常PUT
(但并非总是)意味着服务器理解WebDAV
... HTTP
上传通常通过POST
完成...
另一种可能性是某些代理阻止PUT
。
编辑 - 根据评论:
POST 请求需要以不同的方式构建,并且取决于服务器对它们的期望...对于一些示例代码,请参阅使用 HTTPWebrequest (multipart/form-data) 上传文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.