我对互联网的工作方式不是很熟悉,所以我不确定这个java方法在做什么,也不知道如何在python中最好地复制它。我尝试了几种不同的方法,包括urllibs和sockets,但似乎都不起作用。只有当我得到一个响应时,我最终得到一个巨大的HTML文档,而响应应该只有大约5行xml。你知道吗
任何帮助都将不胜感激,谢谢各位:)。你知道吗
try {
URL url = new URL( sPROTOCOL, sHOSTNAME, sPAGENAME );
URLConnection url_con = url.openConnection();
url_con.setDoInput(true);
url_con.setDoOutput(true);
url_con.setUseCaches (false);
url_con.setRequestProperty ("content-type", "application/x-www-form-urlencoded");
String input_xml = make_XML( sAppID, sAppPassword, sUserID, sPassword );
if (bDEBUG) {
System.out.println( "\nINPUT XML------------------\n" + input_xml );
System.out.println( "\nEND INPUT XML--------------\n" );
}
BufferedWriter writebuf = new BufferedWriter(new OutputStreamWriter(url_con.getOutputStream()));
writebuf.write("XMLData=");
writebuf.write( URLEncoder.encode( input_xml, "UTF-8" ) ); //Java 1.4.x and later
//writebuf.write( URLEncoder.encode( input_xml ) ); //Java 1.3.1 and earlier
writebuf.flush();
writebuf.close();
writebuf = null;
HashMap hm = parseResp(url_con);
它看起来像是在打开一个到sHOSTNAME的连接,发送make\uxml生成的XML数据(显然是一个名为XMLData的POST参数,所以sPROTOCOL必须是HTTP),然后在parseResp中处理响应。你知道吗
在python中,您将使用httplib。在http://docs.python.org/library/httplib.html的最后一个例子是做类似的事情(但是发送三个参数)。请注意,您发布的代码有点难看,因为它显式地编写了POST内容—在python中,您只需将XML作为参数。你知道吗
相关问题 更多 >
编程相关推荐