当前位置: 首页 > news >正文

有没有专门做蛋糕的网站软件定制开发优势

有没有专门做蛋糕的网站,软件定制开发优势,中国核工业第五建设公司网站,微网站开发案例#x1f538; 第一部分#xff1a;requests库的入口 我们从requests库的入口开始#xff0c;通常我们会使用 requests.get() 或 requests.post() 等方法发送HTTP请求。那么#xff0c;这些方法背后究竟做了些什么呢#xff1f;我们从requests.get()方法开始看起#xff… 第一部分requests库的入口 我们从requests库的入口开始通常我们会使用 requests.get() 或 requests.post() 等方法发送HTTP请求。那么这些方法背后究竟做了些什么呢我们从requests.get()方法开始看起 # requests/__init__.py def get(url, paramsNone, **kwargs):Sends a GET request.return request(get, url, paramsparams, **kwargs)requests.get() 实际上是调用了内部的 request() 方法并将 get 作为请求方法传入。让我们进一步深入 request() 方法。 第二部分request方法揭秘 在requests库中request() 方法负责构建和发送所有类型的HTTP请求 # requests/api.py def request(method, url, **kwargs):session sessions.Session()return session.request(methodmethod, urlurl, **kwargs)request() 方法创建了一个 Session 对象然后调用了 session.request()。这意味着实际的请求处理是由 Session 对象完成的。 第三部分Session对象的奥秘 Session 对象在requests库中扮演了重要角色。它不仅可以发送请求还能保存cookie等会话信息 # requests/sessions.py class Session(SessionRedirectMixin, RequestHookMixin):def request(self, method, url, paramsNone, dataNone, headersNone, cookiesNone, filesNone, authNone, timeoutNone, allow_redirectsTrue, proxiesNone, hooksNone, streamNone, verifyTrue, certNone, jsonNone):prep self.prepare_request(Request(methodmethod, urlurl, headersheaders, filesfiles, datadata, jsonjson, paramsparams, authauth, cookiescookies, hookshooks))...send_kwargs {timeout: timeout, allow_redirects: allow_redirects, proxies: proxies, stream: stream, verify: verify, cert: cert, hooks: hooks}...resp self.send(prep, **send_kwargs)return respSession 对象的 request() 方法中首先调用 prepare_request() 方法来构建 Request 对象。然后调用 send() 方法来发送请求。 第四部分Request对象的构建 prepare_request() 方法负责构建一个 Request 对象 # requests/sessions.py def prepare_request(self, request):p PreparedRequest()p.prepare(methodrequest.method.upper(),urlrequest.url,filesrequest.files,datarequest.data,jsonrequest.json,headersrequest.headers,paramsrequest.params,authrequest.auth,cookiesrequest.cookies,hooksrequest.hooks,)return pprepare_request() 方法中调用了 PreparedRequest 类并通过其 prepare() 方法将请求的各个部分准备好。 第五部分PreparedRequest的准备 PreparedRequest 类是用来标准化和准备请求数据的 # requests/models.py class PreparedRequest(RequestEncodingMixin, RequestHooksMixin):def prepare(self, methodNone, urlNone, headersNone, filesNone, dataNone, paramsNone, authNone, cookiesNone, hooksNone, jsonNone):self.prepare_method(method)self.prepare_url(url, params)self.prepare_headers(headers)self.prepare_body(data, files, json)self.prepare_auth(auth, url)self.prepare_cookies(cookies)self.prepare_hooks(hooks)PreparedRequest 类的 prepare() 方法中分别调用了一系列 prepare_* 方法来准备HTTP请求的各个部分如方法、URL、头信息、请求体等。 第六部分发送请求 当请求准备好后Session 对象的 send() 方法负责实际发送HTTP请求 # requests/sessions.py def send(self, request, **kwargs):...r adapter.send(request, **kwargs)...return rsend() 方法中最重要的一步是调用 adapter.send() 方法这里的 adapter 是 HTTPAdapter 对象它负责底层的HTTP请求发送。 第七部分HTTPAdapter的发送 HTTPAdapter 对象的 send() 方法通过底层库如urllib3来实际发送请求 # requests/adapters.py class HTTPAdapter(BaseAdapter):def send(self, request, streamFalse, timeoutNone, verifyTrue, certNone, proxiesNone):conn self.get_connection(request.url, proxies)...resp conn.urlopen(methodrequest.method,urlrequest.url,bodyrequest.body,headersrequest.headers,...)return self.build_response(request, resp)send() 方法通过 get_connection() 方法获取一个连接然后使用 conn.urlopen() 发送请求并调用 build_response() 方法构建响应对象。 第八部分构建响应 build_response() 方法负责将底层响应对象转换为 requests 的 Response 对象 # requests/adapters.py def build_response(self, request, resp):response Response()response.status_code resp.statusresponse.headers CaseInsensitiveDict(resp.headers)response.raw respresponse.url request.urlresponse.request requestresponse.connection selfreturn responsebuild_response() 方法中将底层响应对象的状态码、头信息、URL等信息赋值给 Response 对象从而完成响应构建。 总结 通过以上解析我们了解了 requests 库从发送请求到接收响应的全过程。从 requests.get() 方法开始经过 Session 对象的处理、PreparedRequest 的准备、HTTPAdapter 的发送最终构建 Response 对象。这一系列流程确保了 requests 库能够简洁、高效地处理HTTP请求让开发者可以专注于业务逻辑的实现。 希望通过这次源码解析大家对 requests 库有了更深入的理解能够更好地运用它进行网络请求处理
http://www.w-s-a.com/news/880076/

相关文章:

  • 外贸类网站酷玛网站建设
  • 合肥网站设计建设南宁网站seo推广优化公司
  • 临沂百度网站7x7x7x7x8黄全场免费
  • 海洋牧场网站建设大良网站设计价格
  • 手机端网站关键字排名北京seo公司哪家好
  • 福建建设培训中心网站网站建站服务公司地址
  • 青岛网站优化快速排名企业网址怎么整
  • 做公司网站用什么系统seo搜索排名优化方法
  • dw怎么做网站标题图标做网站重庆
  • 机场建设相关网站公司官网设计制作
  • 大学网站建设的目标技术支持 优府网络太原网站建设
  • wordpress设置密码访问带提示广州做网站优化哪家专业
  • 如何帮人做网站赚钱西安室内设计公司排名
  • 房产网站建设产品网站域名和邮箱域名
  • 网站建设核心优势seo求职信息
  • 网站手册自己在百度上可以做网站吗
  • 影楼网站源码建行业网站的必要性
  • 深圳app网站设计软件开发公司税收优惠政策
  • 北京市中关村有哪家可以做网站维护客户管理系统 wordpress
  • 做网站拉客户有效吗全景图网页制作工具
  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站
  • 上海建设工程网站大同网站建设熊掌号