CURL:客户端和服务器通信Windows c/java
我对curl比较陌生,我正在尝试用C编写一个客户端,它使用curl发送字符串。另一方面,作为服务器,我有一个Java程序,它使用HttpServlet监听HTTP请求。 当我用curl发送一些数据时,我看到服务器得到了它,但不是以发送的格式。 例如,如果我正在发送数据:“8D015678” 在服务器端请求的内容将是:56、68、48、49、53、54、55、56 以下是客户端代码(c): 以下是服务器(java)的解析器代码: 这是否意味着我需要一个从ASCI到symbol的转换器? 我以为在curl中数据是按原样传递的?我错过了什么? 如果我希望我的数据(例如8D015678)作为8D015678由服务器获取,我应该如何发送它? 请解释一下数据是如何传递的,以及如何处理curl中的客户机和接收这些请求的服务器 提前谢谢。希望很清楚,CURL:客户端和服务器通信Windows c/java,java,c,curl,Java,C,Curl,我对curl比较陌生,我正在尝试用C编写一个客户端,它使用curl发送字符串。另一方面,作为服务器,我有一个Java程序,它使用HttpServlet监听HTTP请求。 当我用curl发送一些数据时,我看到服务器得到了它,但不是以发送的格式。 例如,如果我正在发送数据:“8D015678” 在服务器端请求的内容将是:56、68、48、49、53、54、55、56 以下是客户端代码(c): 以下是服务器(java)的解析器代码: 这是否意味着我需要一个从ASCI到symbol的转换器? 我以为在c
InputStream.read(..)
在流结束时返回-1,否则该值可以简单地转换为字符。返回值和错误代码的这种组合很古老,而且非常不幸,今天的设计可能会有所不同。只需将其转换为字符并进行处理
官方文件载于
看
作为一个有效的例子
其实质是:
// new input stream created
is = new FileInputStream("C://test.txt");
System.out.println("Characters printed:");
// reads till the end of the stream
while((i=is.read())!=-1)
{
// converts integer to character
c=(char)i;
// prints character
System.out.print(c);
}
System.out.println("[requestHandlerFactory] header is not Content");
int contentLength = request.getContentLength();
this.content = new byte[contentLength];
try {
ServletInputStream input = request.getInputStream();
int read = input.read(content, 0, contentLength);
System.out.println("[doPost] contentLength = " + contentLength + "data = " + content[0]);
// new input stream created
is = new FileInputStream("C://test.txt");
System.out.println("Characters printed:");
// reads till the end of the stream
while((i=is.read())!=-1)
{
// converts integer to character
c=(char)i;
// prints character
System.out.print(c);
}