当前位置: 首页>>代码示例>>Python>>正文


Python URL.setRequestMethod方法代码示例

本文整理汇总了Python中java.net.URL.setRequestMethod方法的典型用法代码示例。如果您正苦于以下问题:Python URL.setRequestMethod方法的具体用法?Python URL.setRequestMethod怎么用?Python URL.setRequestMethod使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.net.URL的用法示例。


在下文中一共展示了URL.setRequestMethod方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: open

# 需要导入模块: from java.net import URL [as 别名]
# 或者: from java.net.URL import setRequestMethod [as 别名]
    def open(self, url_or_req):
        try:
            if isinstance(url_or_req, Request):
                connection = URL(url_or_req.get_full_url()).openConnection()
                for header in self.addheaders:
                    connection.setRequestProperty(header[0], header[1])
                for key, value in url_or_req.header_items():
                    connection.setRequestProperty(key, value)
                
                connection.setRequestMethod(url_or_req.get_method())
                
                if url_or_req.get_data() != None:
                    connection.setDoOutput(True)
                    outstream = connection.getOutputStream()
                    outstream.write(url_or_req.get_data())
            else:
                connection = URL(url_or_req).openConnection()
                for header in self.addheaders:
                    connection.setRequestProperty(header[0], header[1])

            instream = connection.getInputStream()
            doc = ""
            reader = BufferedReader(InputStreamReader(instream))
            line = reader.readLine()
            while line:
                doc += line
                line = reader.readLine()
            return Response(doc)
        except:
            traceback.print_exc()
            raise
开发者ID:rossrowe,项目名称:sc,代码行数:33,代码来源:java_urllib2.py

示例2: download_request

# 需要导入模块: from java.net import URL [as 别名]
# 或者: from java.net.URL import setRequestMethod [as 别名]
    def download_request(url, file_path, user_agent, referer_url, timeout, max_redirects, log):
        import jarray
        from java.net import URL, HttpURLConnection
        from java.io import FileOutputStream
        try:
            input_stream = None
            file_output_stream = FileOutputStream(file_path)
            HttpURLConnection.setFollowRedirects(True)
            first_request = True
            is_redirect = False
            cookies = None
            redirect_counter = 0
            while is_redirect or first_request:
                http_url_connection = URL(url).openConnection()
                http_url_connection.setFollowRedirects(True)
                http_url_connection.setInstanceFollowRedirects(True)
                http_url_connection.setRequestProperty("Accept-Language", "en-US,en;q=0.8")
                http_url_connection.setConnectTimeout(timeout)
                http_url_connection.setReadTimeout(timeout)
                http_url_connection.setRequestMethod("GET")
                http_url_connection.setRequestProperty("User-Agent", user_agent)
                http_url_connection.setRequestProperty("Accept-Language", "en-US,en;q=0.8")
                if cookies != None and len(cookies) > 0:
                    http_url_connection.setRequestProperty("Cookie", cookies)
                if referer_url != None:
                    # Note: Referer not Referrer! (see: Wikipedia)
                    #           ^           ^^
                    http_url_connection.setRequestProperty("Referer", referer_url);
                http_url_connection.connect()
                first_request = False

                # check for redirect
                is_redirect = False
                status_code = http_url_connection.getResponseCode()

                if status_code == HttpURLConnection.HTTP_NOT_FOUND:
                    raise ScratchtobatHTTP404Error("HTTP 404 NOT FOUND for URL: " + url)

                if status_code != HttpURLConnection.HTTP_OK:
                    if status_code == HttpURLConnection.HTTP_MOVED_TEMP \
                    or status_code == HttpURLConnection.HTTP_MOVED_PERM \
                    or status_code == HttpURLConnection.HTTP_SEE_OTHER:

                        redirect_counter += 1
                        if redirect_counter > max_redirects:
                            raise ScratchtobatError("Maximum number of HTTP redirects " \
                                                    "{} reached!".format(max_redirects))

                        is_redirect = True
                        referer_url = url
                        # set redirect URL from "location" header field as new URL
                        url = http_url_connection.getHeaderField("Location")
                        cookies = http_url_connection.getHeaderField("Set-Cookie")
                        log.debug("Redirecting to URL: {}".format(url))

            input_stream = http_url_connection.getInputStream()
            byte_buffer = jarray.zeros(4096, "b")
            length = input_stream.read(byte_buffer)
            while length > 0:
                file_output_stream.write(byte_buffer, 0, length)
                length = input_stream.read(byte_buffer)
        finally:
            try:
                if input_stream != None:
                    input_stream.close()
            except:
                if file_output_stream != None:
                    file_output_stream.close()
开发者ID:ReinhardHuetter,项目名称:ScratchToCatrobat,代码行数:70,代码来源:common.py


注:本文中的java.net.URL.setRequestMethod方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。