Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问bug';使用python和pycurl在Bugzilla上创建XML页面?_Python_Xml_Python 2.7_Bugzilla_Pycurl - Fatal编程技术网

如何访问bug';使用python和pycurl在Bugzilla上创建XML页面?

如何访问bug';使用python和pycurl在Bugzilla上创建XML页面?,python,xml,python-2.7,bugzilla,pycurl,Python,Xml,Python 2.7,Bugzilla,Pycurl,我无法使用Bugzilla的Web服务从Bugzilla(我的版本是4.2.5)上的bug中检索到所有信息(如评论、附件、估计时间…)。我有所有bug的ID,我正试图根据URL访问它们,以获取bug的XML格式 我被告知Bugzilla API不允许通过cookie进行访问。因此,我有以下几点,但即使提供了正确的用户名和密码,我也会一直停留在登录页面上。以下是我到目前为止的情况: pf = {'username' : 'my_username', 'password' : 'my_passwor

我无法使用Bugzilla的Web服务从Bugzilla(我的版本是4.2.5)上的bug中检索到所有信息(如评论、附件、估计时间…)。我有所有bug的ID,我正试图根据URL访问它们,以获取bug的XML格式

我被告知Bugzilla API不允许通过cookie进行访问。因此,我有以下几点,但即使提供了正确的用户名和密码,我也会一直停留在登录页面上。以下是我到目前为止的情况:

pf = {'username' : 'my_username', 'password' : 'my_password' }
fields = urllib.urlencode(pf)
pageContents = StringIO.StringIO()

p = pycurl.Curl()
p.setopt(pycurl.FOLLOWLOCATION, 1)
p.setopt(pycurl.COOKIEFILE, './cookie_test.txt')
p.setopt(pycurl.COOKIEJAR, './cookie_test.txt')
p.setopt(pycurl.POST, 1)
p.setopt(pycurl.POSTFIELDS, fields)
p.setopt(pycurl.WRITEFUNCTION, pageContents.write)
p.setopt(pycurl.VERBOSE, True)
p.setopt(pycurl.DEBUGFUNCTION, test)
p.setopt(pycurl.URL, 'https://somewebsite.com/viewXMLof=[ENTER-BUG-ID-HERE]')
p.perform()

p.close() # This is mandatory.

pageContents.seek(0)

for x in pageContents.readlines() :
    print x
因此,我将显示以下内容:

<html lang="en">
  <head>    
    <title>Log in to Website</title>
.
.
.

登录网站
.
.
.
这意味着我仍然在登录页面。有什么建议吗


如果需要进一步解释,请告诉我。

Bugzilla使用XML-RPC或JSON-RPC。看到和

使用XML-RPC,您需要将XML文档发布到mybugzilla.com/xmlrpc.cgi URL。下面是一个获取Bugzilla时间信息的示例

<?xml version="1.0"?>
<methodCall>
   <methodName>Bugzilla.time</methodName>
   <params>
     <param>
         <struct>
             <member>
                <name>Bugzilla_login</name>
                <value>user@example.com</value>
             </member>
             <member>
                <name>Bugzilla_password</name>
                <value>password</value>
             </member>        
         </struct>
      </param>
    </params>
</methodCall>

布奇拉时间
Bugzilla_登录
user@example.com
Bugzilla_密码
密码
要获取特定的bug,请使用带有param元素的方法,如下所示:

<param>
    <struct>
        <member>
            <name>Bugzilla_login</name>
            <value>user@example.com</value>
        </member>
        <member>
            <name>Bugzilla_password</name>
            <value>password</value>
        </member>        

        <member>
            <name>ids</name>
            <value>
                <array>
                    <data>
                        <value>
                            <int>1</int>
                        </value>
                    </data>
                </array>
            </value>
        </member>   
    </struct>
</param>

Bugzilla_登录
user@example.com
Bugzilla_密码
密码
身份证
帮助您测试XML-RPC调用并了解响应