我有一个测试Web服务的诊断工具.
我希望工具在出现问题时进行报告,因此我已经部署了一个服务,但合同有问题需要对其进行测试.
当我浏览它时,我得到一个带有描述性信息的页面,例如:
ExceptionDetail,可能由IncludeExceptionDetailInFaults = true创建,其值为:System.InvalidOperationException:在对WSDL导出扩展的调用中抛出异常:
System.ServiceModel.Description.DataContractSerializerOperationBehavior contract:类型XXX的DataContract无法添加到DataContractSet中在名称空间XXX中具有相同数据合同名称XXX的类型XXX已经存在且合同不等同等.
我想要的是能够打电话:
myErrorMsg = WebClient.DownloadString("MyBadService.svc");
Run Code Online (Sandbox Code Playgroud)
并将此有用的错误消息作为字符串,但我得到以下WebException:
远程服务器返回错误:(500)内部服务器错误.
如何获得在浏览器中收到的相同错误消息作为字符串返回,而不会出现异常?
谢谢.
我想对网站进行HTTP调用.我只需要点击URL,不想上传或下载任何数据.什么是最简单,最快速的方法.
我尝试了下面的代码,但它的速度很慢,在第二次重复请求之后,它只是进入超时时间为59秒而不是恢复:
WebRequest webRequest = WebRequest.Create("http://ussbazesspre004:9002/DREADD?" + fileName);
webRequest.Method = "POST";
webRequest.ContentType = "application/x-www-form-urlencoded";
webRequest.ContentLength = fileName.Length;
Stream os = webRequest.GetRequestStream();
os.Write(buffer, 0, buffer.Length);
os.Close();
Run Code Online (Sandbox Code Playgroud)
使用WebClient更有效率吗?
WebClient web = new WebClient();
web.UploadString(address);
Run Code Online (Sandbox Code Playgroud)
我正在使用.NET ver 3.5
我如何更改WebClient请求的动词?它似乎只允许/默认POST,即使在DownloadString的情况下.
try
{
WebClient client = new WebClient();
client.QueryString.Add("apiKey", TRANSCODE_KEY);
client.QueryString.Add("taskId", taskId);
string response = client.DownloadString(TRANSCODE_URI + "task");
result = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(response);
}
catch (Exception ex )
{
result = null;
error = ex.Message + " " + ex.InnerException;
}
Run Code Online (Sandbox Code Playgroud)
而Fiddler说:
POST http://someservice?apikey=20130701-234126753-X7384&taskId=20130701-234126753-258877330210884 HTTP/1.1
Content-Length: 0
Run Code Online (Sandbox Code Playgroud) 任何人请告诉我方法public WebResourceResponse shouldInterceptRequest (WebView view, WebResourceRequest request)
和方法之间的区别public boolean shouldOverrideUrlLoading(WebView view, String url)
.
我正在创建一个Android应用程序,其中获取一个字符串作为我的WebView
.I 中的点击事件的响应.我想存储此字符串并显示它.我看到了这两种方法.我尝试使用shouldOverrideUrlLoading
哪个返回重定向网址当我检查创建一个示例应用程序使用google.com作为我加载的网址WebView
并单击菜单.
谁能告诉我两种方法之间的区别以及我应该使用哪种方法?
我很擅长在C#中使用库WebClient,HttpResponse和HttpRequest,所以请耐心等待我的问题.
我需要构建一个基于C#的WinForm,它可以打开一个URL,该URL通过基本授权进行保护.我这样做是将它添加到标题中,如下所示:
using (WebClient wc = new WebClient())
{
wc.Headers.Add(HttpRequestHeader.Authorization, "Basic " +
Convert.ToBase64String(
Encoding.ASCII.GetBytes(username + ":" + password)));
}
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好!现在我想填写一个带有数字的表单,然后我从网站上找到源代码,并发现名称是"数字".所以我写这个:
NameValueCollection formData = new NameValueCollection();
formData["number"] = number
byte[] responseBytes = wc.UploadValues(theurl, "POST", formData);
string response = Encoding.ASCII.GetString(responseBytes);
textBox_HTML.Text = response;
Run Code Online (Sandbox Code Playgroud)
但是我该怎么提交呢?我想收到我的"搜索结果"......
我正在向API请求并获取响应状态代码200
.
api的json
响应包括响应.
import javax.ws.rs.core.Response;
Response response = webclient.post(SomeReqString);
Run Code Online (Sandbox Code Playgroud)
如何json
从Web客户端响应中将响应检索为字符串?
我将假设答案是否定的....有没有办法使用WebClient发送HEAD方法并将标题作为字符串或类似的东西返回?
我有一个简单的Restful服务从控制台应用程序调用,所以我使用WebClient.我想知道这次删除是否正确.
该URL看起来像localhost/RestService1/Person/1
using (var client = new WebClient())
{
client.UploadString(url, "DELETE", "");
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢UploadString没有数据参数的重载.传递一个空参数并不适合我.有没有更好的方法用于"删除"?
我可以使用WebRequest,但我想只使用WebClient来保持一致.
这是WebRequest块
var request = WebRequest.Create(url);
request.Method = "DELETE";
var response = (HttpWebResponse)request.GetResponse();
Run Code Online (Sandbox Code Playgroud)
两个块都工作正常,但最好的是什么?或者,还有更好的方法?
我需要向单个主机发出大约50个HTTP请求(API调用).性能很重要,所以我想使用HTTP KeepAlive.WebClient是否支持此功能?
很难找到使用webclient类异步方法下载多个文件的代码示例,但一次下载一个.
如何启动异步下载,但要等到第一个完成,直到第二个,等等.基本上是一个问题.
(注意我不想使用同步方法,因为异步方法的功能增加了.)
以下代码立即启动我的所有下载.(进度条到处都是)
private void downloadFile(string url)
{
WebClient client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
// Starts the download
btnGetDownload.Text = "Downloading...";
btnGetDownload.Enabled = false;
progressBar1.Visible = true;
lblFileName.Text = url;
lblFileName.Visible = true;
string FileName = url.Substring(url.LastIndexOf("/") + 1,
(url.Length - url.LastIndexOf("/") - 1));
client.DownloadFileAsync(new Uri(url), "C:\\Test4\\" + FileName);
}
void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
}
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double …
Run Code Online (Sandbox Code Playgroud) webclient ×10
c# ×7
.net ×2
http ×2
web-services ×2
android ×1
asynchronous ×1
head ×1
http-get ×1
intercept ×1
java ×1
jax-rs ×1
jax-ws ×1
keep-alive ×1
webrequest ×1
webview ×1