热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何使用包含土耳其语字符的HttpClient查询

我正在使用C#开发Web服务。客户端工作正常,但是如果参数包含土耳其语字符,则结果

我正在使用C#开发Web服务。客户端工作正常,但是如果参数包含土耳其语字符,则结果为null。
我知道这是一个编码问题,但我不知道如何设置。

我为HttpClient尝试了以下操作:

httpClient.DefaultRequestHeaders.acceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));
httpClient.DefaultRequestHeaders.acceptEncoding.Add(new StringWithQualityHeaderValue("windows-1254"));
httpClient.DefaultRequestHeaders.acceptLanguage.Add(new StringWithQualityHeaderValue("tr-TR"));

但是没有用。我以为也许我在参数中编码土耳其语字符,反过来又尝试了:

HttpUtility.UrlEncode(district);
Uri.EscapeUriString(district);
Uri.EscapeDataString(district);

,但此操作不再起作用。我的代码块如下:

private HttpClient getclient() {
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri(Configurationmanager.AppSettings["ServiceBaseUrl"]);
httpClient.DefaultRequestHeaders.accept.Clear();
httpClient.DefaultRequestHeaders.accept.Add(new MediaTypeWithQualityHeaderValue("text/xml"));
httpClient.DefaultRequestHeaders.acceptEncoding.Add(new StringWithQualityHeaderValue("windows-1254"));
return httpClient;
}
public SupportPersonDto GetSupportPersonList(string city,string district) {
SupportPersonDto serviceResult = null;
string param = "" +
"" + Configurationmanager.AppSettings["serviceUser"] + "" +
"" + Configurationmanager.AppSettings["servicePass"] + "" +
"" + city + "" +
"" + district + "" +
"";
HttpClient httpClient = getclient();
string apiUrl = "?xmlData=" + param;
HttpResponseMessage respOnse= httpClient.Getasync(apiUrl).Result;
if (response.IsSuccessStatusCode) {
var stream = response.Content.ReadAsStreamAsync();
stream.Wait();
XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = "NGDIRECTORY";
xRoot.Isnullable = true;
XmlSerializer serializer = new XmlSerializer(typeof(SupportPersonDto),xRoot);
serviceResult = (SupportPersonDto)serializer.Deserialize(stream.Result);
}
httpClient.Dispose();
return serviceResult;
}

有人可以帮我吗?



非常感谢所有帮助过的人。
Daniel和Lasse都建议我使用UrlEncode,这是正确的答案。
解决了如下问题,可以编辑代码:

pq.write_table(pa.Table.from_dataframe(pandas.DataFrame))

这么多天后:)

再次感谢您的帮助


推荐阅读
  • 在尝试使用C# Windows Forms客户端通过SignalR连接到ASP.NET服务器时,遇到了内部服务器错误(500)。本文将详细探讨问题的原因及解决方案。 ... [详细]
  • 今天就跟大家聊聊有关HttpComponents中如何使用HttpClient连接池,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • ASP.NET MVC中Area机制的实现与优化
    本文探讨了在ASP.NET MVC框架中,如何通过Area机制有效地组织和管理大规模应用程序的不同功能模块。通过合理的文件夹结构和命名规则,开发人员可以更高效地管理和扩展项目。 ... [详细]
  • 本文探讨了在使用Azure Active Directory进行用户身份验证时,结合AddAuthentication和RequireAuthenticatedUser的必要性及其潜在冗余问题。 ... [详细]
  • HttpClient作为官方推荐的http客户端,相比之前的WebClient和WebRequest好用了很多,但默认无法为每个请求单独设置超时,只能给HttpClient设置默认 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细探讨了Netty中Future及其子类的设计与实现,包括其在并发编程中的作用和具体应用场景。我们将介绍Future的继承体系、关键方法的实现细节,并讨论如何通过监听器和回调机制来处理异步任务的结果。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 深入解析 Spring Security 用户认证机制
    本文将详细介绍 Spring Security 中用户登录认证的核心流程,重点分析 AbstractAuthenticationProcessingFilter 和 AuthenticationManager 的工作原理。通过理解这些组件的实现,读者可以更好地掌握 Spring Security 的认证机制。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • Android本地化存储Cookie(针对HttpClient)
    因为最近有人问我怎么保存HttpClient的Cookie,所以这里写下,顺便记录总结吧.当然,有Android网络编程经历的童鞋一看就懂喇~就不多说了,直接上代码: ... [详细]
  • 如何使用.NET CORE HttpClient
    小编这次要给大家分享的是如何使用.NETCOREHttpClient,文章内容丰富,感兴趣的小伙伴可以来了解一下,希望大家阅读完这篇文章之后能够有所收获。前 ... [详细]
  • 在Java领域,谈到网络编程,可能大家脑海里第一反应就是MINA,NETTY,GRIZZLY等优秀的开源框架。没错,不过在深入探究这些框架之前,我们需要先从最original的技 ... [详细]
  • 参考资料:http:www.systinet.comdocwasp_uddiuddiigpreliminary.html教程中的一个例程,可以下载。来源:竹笋炒肉虽然用telnet这样的程 ... [详细]
author-avatar
浅浅的思恋的小媳妇
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有