标签: webclient

如何在 spring-boot web 客户端中发送请求正文?

我在 Spring Boot Web 客户端发送请求正文时遇到了一些问题。尝试发送如下正文:

val body = "{\n" +
            "\"email\":\"test@mail.com\",\n" +
            "\"id\":1\n" +
            "}"
val response = webClient.post()
    .uri( "test_uri" )
    .accept(MediaType.APPLICATION_JSON)
    .body(BodyInserters.fromObject(body))
    .exchange()
    .block()
Run Code Online (Sandbox Code Playgroud)

它不工作。请求正文应为 JSON 格式。 请让我知道我哪里做错了。

webclient kotlin spring-boot spring-webflux

10
推荐指数
2
解决办法
2万
查看次数

有没有办法强制WebClient,而不是返回缓存数据?

我正在从这样的Web服务器目录中检索图像:

        WebClient webClientImgDownloader = new WebClient();
        webClientImgDownloader.OpenReadCompleted += new OpenReadCompletedEventHandler(webClientImgDownloader_OpenReadCompleted);
        if(uriIndex < uris.Count())
            webClientImgDownloader.OpenReadAsync(new Uri(uris[uriIndex], UriKind.Absolute));
Run Code Online (Sandbox Code Playgroud)

但我注意到如果我删除图像,silverlight会继续检索图像,就像它在那里一样.

当我然后将图像URL输入到FireFox中时,我也会看到图像,但是然后我点击Reload它会给我一个图像不存在的相应错误.然后,当我再次运行我的silverlight应用程序时,它也恰当地给我一个错误,即图像不存在,就好像浏览器已经清除某处的缓存标记一样.

然后我如何通过代码中的WebClient进行"刷新",这样如果服务器上突然出现图像,Silverlight不会继续给我一个缓存的副本?

silverlight caching webclient

9
推荐指数
1
解决办法
4027
查看次数

从Internet下载HTML后,字符串中的字符发生了变化

使用以下代码,我可以从互联网上下载文件的HTML:

WebClient wc = new WebClient();

// ....

string downloadedFile = wc.DownloadString("http://www.myurl.com/");
Run Code Online (Sandbox Code Playgroud)

但是,有时文件包含"有趣"的字符,如éto é,?to â†?????to フシギダãƒ.

我认为它可能与不同的unicode类型或某事有关,因为每个角色变成2个新角色,也许每个角色被分成两半,但我对这个领域知之甚少.你觉得怎么了?

.net c# string unicode webclient

9
推荐指数
1
解决办法
7700
查看次数

webclient和expect100继续

使用WebClient(C#.NET)时设置expect100continue的最佳方法是什么.我在下面有这个代码,我仍然看到标题中有100个继续.愚蠢的apache仍抱怨505错误.

        string url = "http://aaaa.com";
        ServicePointManager.Expect100Continue = false;

        WebClient service = new WebClient();           
        service.Credentials = new NetworkCredential("username", "password");
        service.Headers.Add("Content-Type","text/xml");

        service.UploadStringCompleted += (sender, e) => CompleteCallback(BuildResponse(e));
        service.UploadStringAsync(new Uri(url), "POST", query);
Run Code Online (Sandbox Code Playgroud)

注意:如果我将上述内容放在控制台应用程序中并让它运行 - 那么我在fiddler中看不到标题.但是,我的代码嵌入在由WPF应用程序加载的用户库中.那么,在线程,初始化等方面还有更多的Expect100Continue.现在,我认为这更多是我的代码问题.

c# wpf webclient http

9
推荐指数
1
解决办法
7219
查看次数

配置Tomcat以使用cacerts以外的信任存储

我在Windows上运行Tomcat 6,并且希望Tomcat使用除cacerts之外的其他信任存储来进行Java客户端Web请求.我尝试添加此设置:

-Djavax.net.ssl.trustStore="C:\ca.keystore"
Run Code Online (Sandbox Code Playgroud)

到密钥注册表:

 HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Apache Software Foundation\Procrun 2.0\Tomcat6\Parameters\Java
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用.它仍然使用JRE cacerts商店.我们的Java代码向HTTPS端点发出Web请求,并且我希望将证书保存在除JRE之外的密钥存储区中,因为在卸载/更新Java时它会被删除.

java ssl https tomcat webclient

9
推荐指数
1
解决办法
3万
查看次数

C#异步方法仍然挂起UI

我有这两种方法,我想运行异步以保持UI响应.但是,它仍然悬挂着UI.有什么建议?

async void DoScrape()
    {
        var feed = new Feed();

        var results = await feed.GetList();
        foreach (var itemObject in results)
        {
            var item = new ListViewItem(itemObject.Title);
            item.SubItems.Add(itemObject.Link);
            item.SubItems.Add(itemObject.Description);
            LstResults.Items.Add(item);
        }
    }


    public class Feed
    {
        async public Task<List<ItemObject>> GetList()
        {
            var client = new WebClient();
            string content = await client.DownloadStringTaskAsync(new Uri("anyUrl"));
            var lstItemObjects = new List<ItemObject>();
            var feed = new XmlDocument();
            feed.LoadXml(content);
            var nodes = feed.GetElementsByTagName("item");

            foreach (XmlNode node in nodes)
            {
                var tmpItemObject = new ItemObject();
                var title = …
Run Code Online (Sandbox Code Playgroud)

c# asynchronous webclient c#-5.0 async-ctp

9
推荐指数
2
解决办法
4021
查看次数

您的客户端不支持使用Windows资源管理器打开此列表

我在Windows Server 2008 R2上安装了Microsoft SharePoint和Project PWA.

当我想在Windows资源管理器中打开库时,我会随机收到错误: 您的客户端不支持使用Windows资源管理器打开此列表

当我打开IE时,它正在第1次和第2次工作,但是经过一些点击之后它不再工作了,我需要重新启动IE,然后它通常会工作几次.当它没有通过Sharepoint工作时,它也无法通过\ server\DavWWWRoot\PWA和oposite工作.

我在网上搜索了几个星期,但没有找到任何解决方案.你知道这里应该有什么问题吗?欢迎任何建议:)

webclient webdav project sharepoint-2010

9
推荐指数
2
解决办法
6万
查看次数

无法解析远程名称 - webclient

我正面临这个错误:

The remote name could not be resolved: 'russgates85-001-site1.smarterasp.net'

当我请求使用Web客户端读取html内容时,它给了我错误.以下是我的代码.

string strHTML = string.Empty;
WebClient myClient = new WebClient();
UTF8Encoding utf8 = new UTF8Encoding();
byte[] requestHTML;
string pdfFileName = "outputpdf_" + DateTime.Now.Ticks + ".pdf";
string webUrl = Request.Url.Scheme + "://" + Request.Url.Host + (Request.Url.Port != 80 ? ":" + Request.Url.Port : "");

requestHTML = myClient.DownloadData("http://russgates85-001-site1.smarterasp.net/adminsec/images/printinvoice.aspx?iid=2");

// OR

requestHTML = myClient.DownloadData(webUrl + "?iid=3");
Run Code Online (Sandbox Code Playgroud)

当我在我的本地代码/环境中放置相同的URL时,它工作正常.

c# asp.net webclient

9
推荐指数
2
解决办法
5万
查看次数

有没有办法在PowerShell中使用WebClient对象监视下载的进度?

我正在使用如下简单的行下载文件:

$webclient = New-Object -TypeName System.Net.WebClient
$webclient.DownloadFile("https://www.example.com/file", "C:/Local/Path/file")
Run Code Online (Sandbox Code Playgroud)

问题是我想在下载时使用弹出窗口或使用shell中的进度条向用户显示消息.下载完成时是否可以使弹出框消失,或者监视下载进度的进度条是否可以?

powershell webclient powershell-2.0 webclient-download

9
推荐指数
2
解决办法
1万
查看次数

如何异步检索多个网站?

使用Silverlight Windows Phone 8.1项目

我正在尝试从网站加载数据.不过,我必须首先在该网站进行身份验证.所以我在网站上发帖子,使用这里的CookieAwareWebClient的轻微修改版本.

class CookieAwareWebClient : WebClient
{
    public CookieContainer Cookies = new CookieContainer();

    protected override WebRequest GetWebRequest(Uri address)
    {
        var request = base.GetWebRequest(address);
        if (request is HttpWebRequest)
            (request as HttpWebRequest).CookieContainer = Cookies;

        return request;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我做的WebClient发送POSTUsernamePassword继续让我的网站async和我的处理现场数据DownloadStringCompleted-EventHandler.到现在为止还挺好.现在我想扩展它并获得多个网站. 我不必一次性完成所有这些,事实上,让它们一个接一个地更好.

但我不知道该怎么做.

我的代码到目前为止:

using System;
using System.Net;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using Windows.Web.Http;
using Microsoft.Phone.Shell;
using StackOverflowApp.Resources;

namespace StackOverflowApp
{ …
Run Code Online (Sandbox Code Playgroud)

c# cookies asynchronous webclient windows-phone-8.1

9
推荐指数
1
解决办法
407
查看次数