Python中的请求URL

2024-06-28 21:34:33 发布

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

要触发更新,您必须访问浏览器中的url。此脚本是在shell中编写的:

#!/bin/bash
# Bash to initiate Solr Delta Import Handler

# Setup Variables
hostName=localhost
portNum=8080
SOLRPATH=/solr
SOLR='delta-import&clean=false'
STATUS='dataimport?command=status'
urlCmd='http://${hostName}:${portNum}${SOLRPATH}/dataimport?command=${SOLRCMD}"

# Operations
curl $URLCMD 

我试着用Python写这篇文章,我已经做到了:

^{pr2}$

所以基本上我有两个问题:

  1. 到目前为止,我的python代码还可以吗?在
  2. python中Curl的一个简单替代词是什么?事件通常只通过访问URL来触发,但我不知道如何在Python中简单地执行此操作。在

Tags: to脚本bashurlbin浏览器shellsolr
2条回答

首先,在Python中使用以下类型的字符串格式之一:

urlCmd='http://{0}:{1}{2}/dataimport?command={3}'.format(hostName,portnum, SOLRPATH, SOLRCMD)
#or
urlCmd='http://%s:%s%s/dataimport?command=%s' % (hostName,portnum, SOLRPATH, SOLRCMD)

虽然python中有使用libcurl的pycurl,但如果希望脚本保持可移植性,则应该使用类似urllib2的内置模块来访问生成的URL。在

^{pr2}$

现在您可以对您的请求执行以下几项操作:

req.close      req.fileno     req.getcode    req.headers    req.msg  
req.read       req.readlines  req.code       req.fp         req.geturl   
req.info       req.next       req.readline   req.url

虽然大多数方法都是不言自明的,但是请参考urllib2 docs来详细解释它们的作用。在

  1. Is my python code ok so far?

不,不是。请看一下Python中的字符串格式。在

试试这个:

...
urlCmd='http://%s:%d%s/dataimport?command=%s' % (hostName, portNum, SOLRPATH, SOLRCMD)
  1. What is a simple alterantive to Curl in python? The event is normally triggered just by visiting the URL but I dont know how to do this in Python simply.

尝试^{}模块:

^{pr2}$

相关问题 更多 >