Hướng dẫn what is query string in python? - chuỗi truy vấn trong python là gì?
Chuỗi truy vấn là gì? Làm thế nào để tôi sử dụng chúng? Trong bài học này, bạn sẽ học chính xác điều đó. Hàm Show
00:00 Này, Chào mừng bạn đến với Phần 2. Chúng tôi sẽ bắt đầu tiếp theo với việc nói về các tham số chuỗi truy vấn, sau đó chúng tôi sẽ tiếp tục yêu cầu các tiêu đề, các phương thức HTTP khác, thân thông báo và sau đó kiểm tra yêu cầu của bạn. Vì vậy, các tham số chuỗi truy vấn là gì? Chà, họ là một phần của URL gán các giá trị để chỉ định các tham số. Hey, welcome to Section 2. We’re going to get started next with talking about query string parameters, then we’ll continue on to request headers, other HTTP methods, the message body, and then inspecting your request. So, what are query string parameters? Well, they’re the part of the URL which assigns values to specify parameters. 00:19 Họ thường được thêm vào cơ sở của URL, giống như trong ví dụ này, nơi chúng tôi đang tìm kiếm kho lưu trữ. Nó bắt đầu với dấu hỏi ( 00:29 Các ví dụ khác nếu bạn nhớ chúng tôi quay lại
00:41 Một người khác sẽ là tìm kiếm người dùng và <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>0 starts with its parameters here, just after <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>1. Query string parameters can be composed of a series of arguments.
00:53 Sê -ri được phân tách bằng dấu cộng ( <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>2). So, let’s try it out. Back in our editor here, we’re going to create a new file. I’m simply going to call it <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>3.
01:09 Vì vậy, chúng tôi sẽ chuyển một chuỗi truy vấn vào API tìm kiếm GitHub tại đây. Vì vậy, hãy để bắt đầu bằng cách nhập 01:24 Được rồi. Chúng tôi sẽ thực hiện một biến <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>5 variable and do a <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>6 request into it. In this particular case, we’d put in the <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>7 as a first parameter, and then we can add additional parameters. Let’s start with that. 01:42 Vì vậy, trong trường hợp này, chúng tôi sẽ nói <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>9, the value is we’re searching for <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>0, and we’ll add a second argument of <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>1. 02:00 Chúng tôi sẽ thoát khỏi các dòng bổ sung này và xuống dưới cùng ở đây, chúng tôi sẽ kiểm tra một số thuộc tính từ kho lưu trữ. Chúng tôi sẽ tạo một biến khác với phản hồi JSON. We’ll get rid of these extra lines, and down at the bottom here we’ll inspect some attributes from the repository. We’ll make another variable with the JSON response.
02:12 Lấy đối tượng <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>5 object, have it come back as JSON, and then we’ll make a repository object that will be from that <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>3. 02:24 Vì nó là một từ điển, chúng tôi sẽ kéo khóa <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>4 key and its very first value. Like a Google search—are you lucky?—we’re going to find the very first item in our search.
02:38 Và từ đó đối tượng <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>5 object that’s being returned back, we’ll use a couple of keys here—one being the <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>6, and then the second being we’ll pull back the <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>7 and print them out using f-strings. Again, just a note: you will need Python 3.6 or higher to use these. 02:58 Vì vậy, hãy để Lôi lưu và để cho chạy nó. So, let’s save and let’s run it. 03:06 Nó tìm kiếm ngay bây giờ. Được rồi! Đây là những gì nó trở lại. Tên kho lưu trữ là <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera>9. 03:22 Chúng tôi có thể sửa đổi nó một chút, cố gắng tìm kiếm một kho lưu trữ khác. We could modify it a little bit, try to search a different repository. 03:27 Hãy nói rằng chúng tôi đang tìm kiếm ____ 30 và có lẽ chúng tôi biết <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>0… and maybe we know the <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>1 as a parameter. Let’s save that and try again. 03:47 Vì vậy, kho lưu trữ đó được đặt tên là <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>2. <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>3. Great! Chuỗi truy vấn là một phần của Trình định vị tài nguyên thống nhất (URL) gán các giá trị cho các tham số được chỉ định. Một chuỗi truy vấn thường bao gồm các trường được thêm vào URL cơ sở bởi trình duyệt web hoặc ứng dụng khách khác, ví dụ như là một phần của HTML, chọn sự xuất hiện của trang hoặc nhảy đến các vị trí trong nội dung đa phương tiện. [1] [2] [ 3]query string is a part of a uniform resource locator (URL) that assigns values to specified parameters. A query string commonly includes fields added to a base URL by a Web browser or other client application, for example as part of an HTML, choosing the appearance of a page, or jumping to positions in multimedia content.[1][2][3] Một máy chủ web có thể xử lý yêu cầu Giao thức chuyển siêu văn bản (HTTP) bằng cách đọc một tệp từ hệ thống tệp của nó dựa trên đường dẫn URL hoặc bằng cách xử lý yêu cầu bằng logic dành riêng cho loại tài nguyên. Trong trường hợp logic đặc biệt được gọi, chuỗi truy vấn sẽ có sẵn cho logic đó để sử dụng trong quá trình xử lý của nó, cùng với thành phần đường dẫn của URL. Structure[edit][edit]URL điển hình chứa chuỗi truy vấn như sau: <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>4 Khi một máy chủ nhận được yêu cầu cho một trang như vậy, nó có thể chạy một chương trình, chuyển chuỗi truy vấn, trong trường hợp này là <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>5, không thay đổi cho chương trình. Dấu câu hỏi được sử dụng làm dấu phân cách và không phải là một phần của chuỗi truy vấn. [4] [5] Các khung web có thể cung cấp các phương thức để phân tích nhiều tham số trong chuỗi truy vấn, được phân tách bằng một số dấu phân cách. [6] Trong URL ví dụ bên dưới, nhiều tham số truy vấn được phân tách bằng ampersand, " <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>6": <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera>7 Cấu trúc chính xác của chuỗi truy vấn không được tiêu chuẩn hóa. Các phương thức được sử dụng để phân tích chuỗi truy vấn có thể khác nhau giữa các trang web. Một liên kết trong một trang web có thể có một URL chứa chuỗi truy vấn. HTML xác định ba cách mà tác nhân người dùng có thể tạo chuỗi truy vấn:
Mẫu web [Chỉnh sửa][edit]Một trong những cách sử dụng ban đầu là chứa nội dung của biểu mẫu HTML, còn được gọi là Mẫu web. Cụ thể, khi một biểu mẫu chứa các trường
Mặc dù không có tiêu chuẩn dứt khoát, hầu hết các khung web cho phép nhiều giá trị được liên kết với một trường duy nhất (ví dụ: ____ 50). [7] [8] Đối với mỗi trường của biểu mẫu, chuỗi truy vấn chứa một cặp Công ước này là một khuyến nghị của W3C. [6] Trong các khuyến nghị năm 1999, W3C khuyến nghị rằng tất cả các máy chủ Web đều hỗ trợ các bộ phân cách dấu chấm phẩy ngoài các bộ phân cách ampersand [9] để cho phép các chuỗi truy vấn ứng dụng/X-WWW-form-urlencoded trong các URL trong các tài liệu HTML mà không cần phải thực hiện thoát khỏi ampers và. Kể từ năm 2014, W3C khuyến nghị chỉ sử dụng ampers và làm phân tách truy vấn [10] Nội dung biểu mẫu chỉ được mã hóa trong chuỗi truy vấn của URL khi phương thức gửi biểu mẫu được nhận. Mã hóa tương tự được sử dụng theo mặc định khi phương thức gửi được đăng, nhưng kết quả được gửi dưới dạng thân yêu cầu HTTP thay vì được đưa vào URL đã sửa đổi. [1] Tìm kiếm được lập chỉ mục [Chỉnh sửa][edit]Trước khi các biểu mẫu được thêm vào HTML, các trình duyệt đã hiển thị phần tử Khi đầu vào văn bản vào điều khiển tìm kiếm được lập chỉ mục được gửi, nó được mã hóa dưới dạng chuỗi truy vấn như sau:
Mặc dù phần tử <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>2' trong mã hóa phần trăm URL của trình duyệt (ngày nay, với sự phản đối của tìm kiếm được lập chỉ mục, là tất cả nhưng dư thừa với params 8). Ngoài ra, một số máy chủ web hỗ trợ CGI (ví dụ: Apache) sẽ xử lý chuỗi truy vấn vào các đối số dòng lệnh nếu nó không chứa dấu bằng, '.get() 7' (theo Mục 4.4 của CGI 1.1). Một số tập lệnh CGI vẫn phụ thuộc và sử dụng hành vi lịch sử này cho các URL được nhúng trong HTML.Mã hóa URL [Chỉnh sửa][edit]Một số ký tự không thể là một phần của URL (ví dụ: không gian) và một số ký tự khác có ý nghĩa đặc biệt trong URL: ví dụ, ký tự <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>2' hoặc "________ 58". [13] HTML 5 Chỉ định chuyển đổi sau đây để gửi các biểu mẫu HTML với phương thức "GET" cho máy chủ web. [1] Sau đây là một bản tóm tắt ngắn gọn về thuật toán:
Octet tương ứng với TILDE (" Việc mã hóa không gian là ' <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form>2' và lựa chọn các ký tự "AS-IS" phân biệt mã hóa này với RFC 3986. Example[edit][edit]Nếu một biểu mẫu được nhúng trong trang HTML như sau: <form action="/cgi-bin/test.cgi" method="get"> <input type="text" name="first" /> <input type="text" name="second" /> <input type="submit" /> form> Và người dùng chèn các chuỗi Đây là một lĩnh vực và và có rõ ràng không (đã)? Trong hai trường văn bản và nhấn nút gửi, chương trình Nếu biểu mẫu được xử lý trên máy chủ bằng tập lệnh CGI, tập lệnh thường có thể nhận chuỗi truy vấn dưới dạng biến môi trường có tên Tracking[edit][edit]Một chương trình nhận một chuỗi truy vấn có thể bỏ qua một phần hoặc tất cả. Nếu URL được yêu cầu tương ứng với một tệp và không phải với một chương trình, toàn bộ chuỗi truy vấn sẽ bị bỏ qua. Tuy nhiên, bất kể chuỗi truy vấn có được sử dụng hay không, toàn bộ URL bao gồm nó được lưu trữ trong các tệp nhật ký máy chủ. Những sự thật này cho phép các chuỗi truy vấn được sử dụng để theo dõi người dùng theo cách tương tự như được cung cấp bởi cookie HTTP. Để hoạt động này, mỗi khi người dùng tải xuống một trang, một mã định danh duy nhất phải được chọn và thêm dưới dạng chuỗi truy vấn vào URL của tất cả các liên kết mà trang chứa. Ngay khi người dùng theo dõi một trong các liên kết này, URL tương ứng được yêu cầu đến máy chủ. Bằng cách này, việc tải xuống của trang này được liên kết với trang trước. Ví dụ: khi một trang web chứa các phần sau được yêu cầu: <a href="foo.html">see my page!a> <a href="bar.html">mine is bettera> Một chuỗi duy nhất, chẳng hạn như <a href="foo.html?e0a72cb2a2c7">see my page!a> <a href="bar.html?e0a72cb2a2c7">mine is bettera> Việc bổ sung chuỗi truy vấn không thay đổi cách trang được hiển thị cho người dùng. Ví dụ, khi người dùng theo dõi liên kết đầu tiên, trình duyệt yêu cầu trang Bằng cách này, mọi yêu cầu trang tiếp theo từ người dùng này sẽ mang theo cùng một chuỗi truy vấn Sự khác biệt chính giữa các chuỗi truy vấn được sử dụng để theo dõi và cookie HTTP là:
Các vấn đề tương thích [Chỉnh sửa][edit]Theo đặc tả HTTP:
Nếu URL quá dài, máy chủ web không thành công với mã trạng thái HTTP 414 yêu cầu quá dài. Cách giải quyết phổ biến cho những vấn đề này là sử dụng POST thay vì lấy và lưu trữ các tham số trong thân yêu cầu. Các giới hạn độ dài trên các cơ quan yêu cầu thường cao hơn nhiều so với độ dài URL. Ví dụ: giới hạn về kích thước bài, theo mặc định, là 2 & nbsp; MB trên IIS 4.0 và 128 & NBSP; KB trên IIS 5.0. Giới hạn có thể định cấu hình trên APACHE2 bằng Chỉ thị Xem thêm [sửa][edit]
References[edit][edit]
Chuỗi truy vấn với ví dụ là gì?Chuỗi truy vấn thường bao gồm các trường được thêm vào URL cơ sở bởi trình duyệt web hoặc ứng dụng khách khác, ví dụ như là một phần của HTML, chọn sự xuất hiện của trang hoặc nhảy đến các vị trí trong nội dung đa phương tiện.fields added to a base URL by a Web browser or other client application, for example as part of an HTML, choosing the appearance of a page, or jumping to positions in multimedia content.
Chuỗi truy vấn có nghĩa là gì?QueryString là một tập hợp các ký tự nhập vào máy tính hoặc trình duyệt web và được gửi đến một chương trình truy vấn để khôi phục thông tin cụ thể từ cơ sở dữ liệu.a set of characters input to a computer or Web browser and sent to a query program to recover specific information from a database .
Chuỗi truy vấn được sử dụng ở đâu?Các chuỗi truy vấn có thể được sử dụng để mang hầu hết mọi loại dữ liệu trở lại máy chủ web của bạn cho một loạt các mục đích rất rộng.Bất kỳ tham số chuỗi truy vấn nào được thêm vào URL được nhập vào thanh địa chỉ của trình duyệt web có thể sẽ được ghi lại và ghi lại cùng với phần còn lại của URL bằng máy chủ web trả lời.to carry almost any type of data back to your web servers for a very wide range of purposes. Any query string parameters added to the URL typed into the address bar of the web browser will likely be captured and logged along with the rest of the URL by a responding web server.
Chuỗi truy vấn chứa gì?Một chuỗi truy vấn là một tập hợp các ký tự được giải quyết vào cuối URL.Chuỗi truy vấn bắt đầu sau dấu hỏi (?) Và có thể bao gồm một hoặc nhiều tham số.Mỗi tham số được biểu thị bằng một cặp giá trị khóa duy nhất hoặc một tập hợp hai mục dữ liệu được liên kết.Một dấu bằng (=) phân tách từng khóa và giá trị.one or more parameters. Each parameter is represented by a unique key-value pair or a set of two linked data items. An equals sign (=) separates each key and value. |