Python 3エンジニア認定基礎試験-標準ライブラリ(ネットアクセス)-

1. 
次のコードについて、クエリパラメータを解析するための正しい関数を選んでください。

import urllib.parse

url = "https://www.example.com/path?name=John&age=30"
parsed_url = urllib.parse.urlparse(url)
query_params = urllib.parse.parse_qs(parsed_url.query)
print(query_params)

2. 
次のコードについて、正しい出力を選んでください。

import urllib.parse

url = "https://www.example.com/path/to/page?name=John&age=30"
parsed_url = urllib.parse.urlparse(url)
print(parsed_url.netloc)

3. 
次のコードを実行した場合の出力として正しいものを選んでください。

import urllib.parse
import urllib.request

url = "https://www.example.com/api"
params = {"key1": "value1", "key2": "value2"}
query_string = urllib.parse.urlencode(params)
full_url = f"{url}?{query_string}"
response = urllib.request.urlopen(full_url)
print(full_url)

4. 
次のコードについて、HTTP POSTリクエストのボディ内容として正しいものを選んでください。

import urllib.request
import urllib.parse

data = urllib.parse.urlencode({"key": "value"}).encode("utf-8")
req = urllib.request.Request(
"https://www.example.com",
data=data,
method="POST"
)
response = urllib.request.urlopen(req)
print(response.status)

5. 
次のコードについて、urlopenにタイムアウトを設定する理由として正しいものを選んでください。

import urllib.request

response = urllib.request.urlopen("https://www.example.com", timeout=10)

6. 
次のコードについて、HTTPヘッダーの取得方法として正しいものを選んでください。

import urllib.request

response = urllib.request.urlopen("https://www.example.com")
print(response.getheaders())

7. 
次のコードについて、正しい出力を選んでください。

import urllib.parse

params = {'name': 'John', 'age': 30}
query_string = urllib.parse.urlencode(params)
print(query_string)

8. 
Pythonの標準ライブラリでHTTPリクエストを行うために使用されるモジュールとして正しいものを選んでください。

9. 
次のコードを実行した場合の動作として正しいものを選んでください。

import urllib.error

try:
urllib.request.urlopen("https://invalid-url")
except urllib.error.URLError as e:
print(f"Reason: {e.reason}")

10. 
次のコードを実行した場合、headers変数に含まれるデータとして正しいものを選んでください。

import urllib.request

req = urllib.request.Request("https://www.example.com")
response = urllib.request.urlopen(req)
headers = dict(response.getheaders())
print(headers)

11. 
次のコードの動作として正しい説明を選んでください。

import urllib.request

response = urllib.request.urlopen("https://www.example.com")
print(response.status)

12. 
次のコードを実行した場合の出力として正しいものを選んでください。

import urllib.request

req = urllib.request.Request(
"https://www.example.com",
headers={"User-Agent": "CustomAgent/1.0"}
)
response = urllib.request.urlopen(req)
print(response.status)

13. 
次のコードを実行した場合の出力として正しいものを選んでください。

import urllib.parse

url = "https://www.example.com/path/to/page?name=John&age=30"
parsed_url = urllib.parse.urlparse(url)
updated_query = urllib.parse.parse_qs(parsed_url.query)
updated_query["name"] = ["Alice"]
new_query = urllib.parse.urlencode(updated_query, doseq=True)
new_url = parsed_url._replace(query=new_query).geturl()
print(new_url)

14. 
次のコードを実行した場合の出力として正しいものを選んでください。

import urllib.request

try:
response = urllib.request.urlopen("https://www.example.com")
print(response.read().decode("utf-8")[:20])
except urllib.error.HTTPError as e:
print(f"HTTP Error: {e.code}")
except urllib.error.URLError as e:
print(f"URL Error: {e.reason}")

15. 
次のコードを実行した場合の出力として正しいものを選んでください。

import urllib.request

req = urllib.request.Request(
"https://httpbin.org/post",
data=b"key=value",
method="POST"
)
response = urllib.request.urlopen(req)
print(response.getheader("Content-Type"))

コメントを残すにはログインしてください。