def curlDBPedia(DB_url):
data = json.dumps({"text":"President Obama called Wednesday on Congress to extend a tax break for students included in last year's economic stimulus package, arguing that the policy provides more generous assistance.",
"confidence": "0.2", "support": "20"
})
c = pycurl.Curl()
c.setopt(pycurl.URL, DB_url)
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, data)
c.perform()
curlDBPedia("http://spotlight.dbpedia.org/rest/annotate")
程序如上面给出,但我无法从服务器得到正确的响应。 错误是: )
com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59) com.sun.grizzly.ContextTask.run(ContextTask.java:71) com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532) com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513) java.lang.Thread.run(Thread.java:701) . . . .
这只是错误的一个快照。
如何修复它?
最佳答案
你可以尝试这个代码..
def curlDBPedia(DB_url):
data = json.dumps({"text":"President Obama called Wednesday on Congress to extend a tax break for students included in last year's economic stimulus package, arguing that the policy provides more generous assistance.",
"confidence": "0.2", "support": "20"
})
buffer = StringIO()
c = pycurl.Curl()
c.setopt(pycurl.URL, DB_url)
c.setopt(pycurl.POST, 1)
c.setopt(pycurl.POSTFIELDS, data)
c.setopt(c.WRITEFUNCTION, buffer.write)
c.perform()
c.close()
body = buffer.getvalue()#here we got the response data
curlDBPedia("http://spotlight.dbpedia.org/rest/annotate")
关于python - 使用 pycurl 从服务器获取响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30890412/