使用Python,将XML块发布到Web上

2024-04-19 13:45:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将请求url和请求体作为xml输入,并将输出作为响应xml代码。在

有没有这个的代码片段。在

虽然我有一个Java代码:

import java.net.*;    // import java packages.  
import java.io.*;
import java.net.URL;

public class POST {
public static void main(String[] args) {
try{
       URL url = new URL("");  // Http request
       URLConnection con = url.openConnection();
       con.setDoInput(true);
       con.setDoOutput(true);
       con.setConnectTimeout( 20000 );
       con.setReadTimeout( 20000 );
       con.setUseCaches (false);
       con.setDefaultUseCaches (false);
       con.setRequestProperty ( "Content-Type", "application/xml" );
       OutputStreamWriter writer = new OutputStreamWriter( con.getOutputStream());
       writer.write("xml request body");  // xml request body
       writer.flush();
       writer.close();
       InputStreamReader reader = new InputStreamReader( con.getInputStream() );
       StringBuilder buf = new StringBuilder();
       char[] cbuf = new char[ 2048 ];
       int num;
       while ( -1 != (num=reader.read( cbuf )))
       {
              buf.append( cbuf, 0, num );
       }
       String result = buf.toString();
       System.err.println( "\nResponse from server after POST:\n" + result );
       }
catch( Throwable t )
{
       t.printStackTrace( System.out );
}
}
}

Tags: 代码importurlnewnetrequestxmljava
1条回答
网友
1楼 · 发布于 2024-04-19 13:45:57

您可以这样做:

import urllib2
req = urllib2.Request(url='http://example.com/yourpath/yourscript.extension', 
                  data='xml request body', 
                  headers={'Content-Type': 'application/xml'})
response = urllib2.urlopen(req)
xml = response.read()

对于Python 3,可以执行以下操作:

^{pr2}$

相关问题 更多 >