2017-08-17 50 views
0

我正在Python中執行Python客戶端HTTPSConnection.request('POST',url,data,headers)。 的數據是b'1502944466046'其是請求主體python HTTP POST失敗,「開始標記之前只允許空白內容」而不是1「

調試打印示出了:

發送:b'POST /路徑/到/ someresource HTTP/1.1 \ r \ n主機:172.1.2.3 \ r \ nConcept-Encoding:identity \ r \ nContent-Length:13 \ r \ nContent-Type:application/xml; charset = UTF-8 \ r \ nAccept:application/xml \ r \ nAuthorization:Basic encodeduserPwd == \ r \ ñ\ r \ n」

發送:b'1502944466046'

在Java服務器,我得到org.xmlpull.v1.XmlPullParserException:只有空白內容異體開始標籤之前星期三和不爲1(位置:START_DOCUMENT看到1 ... @ 1:1)

爲POST的數據剛好低於衍生爲 '數據' 的變量如下:

name = str(int(round(time.time() * 1000))) # time in millisec used 
data = name.encode('utf-8') 

的Java REST控制器有一個方法:

@RequestMapping(value=sameurlaspythonurlabove, method=RequestMethod.POST) 
@ResponseStatus(HttpStatus.CREATED) 
public void createMyObject(@RequestBody String name) 

由於上述例外,該方法未被命中。

正文不是XML,但服務器試圖解析XML,我認爲,從上面的錯誤。

如果我設置的Content-type = 'text/plain的',然後服務器爲org.springframework.web.HttpMediaTypeNotSupportedException:內容類型 'text/plain的;字符集= UTF-8' 不支持

任何想法如何規避?

回答

0

問題是您的代碼需要XML,但是您要給它的JSON以1開頭。您可以將您的請求主體轉換爲xml格式,然後您可以嘗試。

+0

是的,我剛剛成功封裝了一個。謝謝。 – labrat43

相關問題