HTTP POST数据时,一定要将数据转换为UTF8再调用HttpSendRequest!!!

原创 2014年08月15日 03:46:09

问题:POST一个页面如http://127.0.0.1/post.php HTTP body为user=aaa&pass=bbb时,INTERNET_BUFFERS的dwBufferLength返回正确的长度17,但是lpReadBuff有时为空,有时为乱码

崩溃了,MSDN上看到这句话。。。

[code=html]Note  The HttpSendRequestA function represents headers as ISO-8859-1 characters not ANSI characters. The HttpSendRequestW function represents headers as ISO-8859-1 characters converted to UTF-16LE characters. As a result, it is never safe to use the HttpSendRequestW function when the headers to be added can contain non-ASCII characters. Instead, an application can use the MultiByteToWideChar and WideCharToMultiByte functions with a Codepage parameter set to 28591 to map between ANSI characters and UTF-16LE characters. [/code]
当时没细看这段话,原来我POST的字符串定义的是unicode,一定要转换成UTF8再调用HttpSendRequest!!!!错误诡异的很啊!!!

相关文章推荐

HttpClient用HttpPost传输中文字符串乱码

public static String getHttpRequestString(String url,String body) throws IOException { HttpC...
  • anloan
  • anloan
  • 2016年01月06日 20:01
  • 9606

HttpClient POST 的 UTF-8 编码问题

 Apache HttpClient ( http://jakarta.apache.org/commons/httpclient/ ) 是一个纯 Java 的HTTP 协议的客户端编程工具包, 对 ...
  • wbl313
  • wbl313
  • 2008年04月08日 11:19
  • 7780

android http post请求,设置utf-8编码,服务端还是出现中文乱码 解决

android http post请求,设置utf-8编码,服务端还是出现中文乱码 解决

JAVA http.utf_8 IS DEPREATED

java.net.URLEncoder.encode(String) is deprecated, 或者URLEncoder.encode("url",HTTP.UTF-8); 这时会...

Get,Post请求中文乱码问题有效解决方法

对于做Java WEB项目同学来说,中文乱码问题是一个经常遇到而又非常头痛的问题,而最容易出现乱码的环节就是在浏览器向服务器发送请求的过程,至于出现乱码的原因不是本文的关注的重点,想了解的朋友可以参考...
  • rchm8519
  • rchm8519
  • 2014年12月14日 22:57
  • 52409

iOS开发-post请求和Unicode转码

今天开发遇到怪事,afn的请求总是被默认成Unicode编码,为了解决问题 直接从最基本的请求和数据类型开始。   post请求 method可以为nil,但是data必须是json串转化来的 - (...

【okhttp】Post请求设置utf-8编码(解决汉语请求乱码问题)

Post请求设置utf-8编码(解决汉语请求乱码问题)

使用HttpSendRequest函数POST数据时应该注意的一点

测试用例代码 CString szHeaders; szHeaders ="EmployeeID: "+UserID+"/r/n"; szHeaders+="EmployeePassword: "+P...
  • jinhill
  • jinhill
  • 2009年02月26日 17:43
  • 7767

HttpSendRequest Post

HttpOpenRequest(hConnect, _T("POST") Header: Content-Type: application/x-www-form-urlencoded conte...

使用WinINet和WinHTTP实现Http访问

Http访问有两种方式,GET和POST,就编程来说GET方式相对简单点,它不用向服务器提交数据,在这个例程中我使用POST方式,提交数据value1与value2,并从服务器得到他们的和(value...
  • whatday
  • whatday
  • 2014年07月24日 21:46
  • 11228
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HTTP POST数据时,一定要将数据转换为UTF8再调用HttpSendRequest!!!
举报原因:
原因补充:

(最多只允许输入30个字)