質問するログイン新規登録

質問編集履歴

1

回答にあった内容を元に検証してみた

2020/03/19 07:48

投稿

Bunga777
Bunga777

スコア5

title CHANGED
File without changes
body CHANGED
@@ -35,4 +35,45 @@
35
35
  ### 他の言語ならいけるの??
36
36
  もともとRubyでシステムを組んでいた為にRubyで確認していますが、
37
37
  他の言語、Pythonとかなら普通にいけるのか?
38
- もしかして他のライブラリ使うといけるとかの情報でもOKなので、情報あったらうれしい。
38
+ もしかして他のライブラリ使うといけるとかの情報でもOKなので、情報あったらうれしい。
39
+
40
+ ### 追記
41
+ net/http で行けるんじゃね?という件が出たのでWebにあった適当なコードを拝借してやってみましたが、どうやら同じくレスポンスがなくダメっぽいです。 
42
+
43
+ どこか致命的におかしなところあったら教えて下さい。
44
+
45
+ ```ruby
46
+ # 必要な機能の呼び出し
47
+ require 'net/http'
48
+ require 'uri'
49
+
50
+ # 対象のURLの指定
51
+ uri = URI.parse("https://www.yodobashi.com/")
52
+ # GETオブジェクトの作成
53
+ request = Net::HTTP::Get.new(uri)
54
+ # リクエスト情報の追加
55
+ request["Connection"] = "keep-alive"
56
+ request["Upgrade-Insecure-Requests"] = "1"
57
+ request["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Safari/537.36"
58
+ request["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
59
+ request["Referer"] = "https://www.yodobashi.com/"
60
+ request["Accept-Language"] = "ja,en-US;q=0.9,en;q=0.8"
61
+ request["Cookie"] = ""
62
+
63
+ req_options = {
64
+ use_ssl: uri.scheme == "https",
65
+ }
66
+
67
+ # リクエストを送る
68
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
69
+ http.request(request)
70
+ end
71
+
72
+ # 画面出力
73
+ p response.body
74
+
75
+ # 適当なファイルへ挿入
76
+ File.open("./net_http.html", "w") do |f|
77
+ f.write(response.body)
78
+ end
79
+ ```