Я пытаюсь получить входной поток из URL.
URL работает нормально в браузере, поэтому я получаю необходимую информацию, например:
<SUCCESS>
<STATUS>ok</STATUS>
<OBJECT_TYPE>resource</OBJECT_TYPE>
<OBJECT_TABLE>res_version_business</OBJECT_TABLE>
<OBJECT_ID>206</OBJECT_ID>
<APP_PATH>start</APP_PATH>
<FILE_CONTENT>
UEsDBBQABgAIAAAAIQA5en1zywEAAGMIAAATAAgCW0NvbnRlbnRfVHlwZXNdLnhtbCCiBAIooAAAAAAAAAAAAAAA/hABAGRvY1Byb3BzL2FwcC54bWxQSwUGAAAAABwAHAAwBwAAFhQBAAAA
</FILE_CONTENT>
<FILE_EXTENSION>docx</FILE_EXTENSION>
<ERROR/>
<END_MESSAGE/>
</SUCCESS>
Но при этом, открывая URL-соединение, это не работает.
вот мой код:
public void sendHttpRequest(String theUrl, String postRequest) throws Exception {
URL UrlOpenRequest = new URL("http://example.com/docs/modules/content/applet_controller.php?action=editObject&objectType=resource&objectTable=res_version_business&objectId=206");
System.out.println("UrlOpenRequest: "+UrlOpenRequest.toString());
HttpURLConnection HttpOpenRequest = (HttpURLConnection)
UrlOpenRequest.openConnection();
HttpOpenRequest.setRequestMethod("POST");
HttpOpenRequest.setRequestProperty("Accept", "*/*");
HttpOpenRequest.setDoInput(true);
HttpOpenRequest.setDoOutput(true);
if (!"none".equals(postRequest)) {
OutputStreamWriter writer = new
OutputStreamWriter(HttpOpenRequest.getOutputStream());
writer.write("fileContent=" + this.fileContentTosend + "&fileExtension=" + this.fileExtension);
writer.flush();
} else {
OutputStreamWriter writer = new
OutputStreamWriter(HttpOpenRequest.getOutputStream());
writer.write("foo=bar");
writer.flush();
}
System.out.println("INPUT STREAM: "+HttpOpenRequest.getInputStream().available());
this.parse_xml(HttpOpenRequest.getInputStream());
HttpOpenRequest.disconnect();
}
The
System.out.println("UrlOpenRequest: "+UrlOpenRequest.toString());
дает мне это:
http://example.com/docs/modules/content/applet_controller.php?action=editObject&objectType=resource&objectTable=res_version_business&objectId=206
В чем может быть проблема? Это проблема URL кодирования? Если так, как я могу это исправить?