質問編集履歴

1

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

2020/03/19 07:48

投稿

Bunga777
Bunga777

スコア5

test CHANGED
File without changes
test CHANGED
@@ -73,3 +73,85 @@
73
73
  他の言語、Pythonとかなら普通にいけるのか?
74
74
 
75
75
  もしかして他のライブラリ使うといけるとかの情報でもOKなので、情報あったらうれしい。
76
+
77
+
78
+
79
+ ### 追記
80
+
81
+ net/http で行けるんじゃね?という件が出たのでWebにあった適当なコードを拝借してやってみましたが、どうやら同じくレスポンスがなくダメっぽいです。 
82
+
83
+
84
+
85
+ どこか致命的におかしなところあったら教えて下さい。
86
+
87
+
88
+
89
+ ```ruby
90
+
91
+ # 必要な機能の呼び出し
92
+
93
+ require 'net/http'
94
+
95
+ require 'uri'
96
+
97
+
98
+
99
+ # 対象のURLの指定
100
+
101
+ uri = URI.parse("https://www.yodobashi.com/")
102
+
103
+ # GETオブジェクトの作成
104
+
105
+ request = Net::HTTP::Get.new(uri)
106
+
107
+ # リクエスト情報の追加
108
+
109
+ request["Connection"] = "keep-alive"
110
+
111
+ request["Upgrade-Insecure-Requests"] = "1"
112
+
113
+ request["User-Agent"] = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.63 Safari/537.36"
114
+
115
+ request["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"
116
+
117
+ request["Referer"] = "https://www.yodobashi.com/"
118
+
119
+ request["Accept-Language"] = "ja,en-US;q=0.9,en;q=0.8"
120
+
121
+ request["Cookie"] = ""
122
+
123
+
124
+
125
+ req_options = {
126
+
127
+ use_ssl: uri.scheme == "https",
128
+
129
+ }
130
+
131
+
132
+
133
+ # リクエストを送る
134
+
135
+ response = Net::HTTP.start(uri.hostname, uri.port, req_options) do |http|
136
+
137
+ http.request(request)
138
+
139
+ end
140
+
141
+
142
+
143
+ # 画面出力
144
+
145
+ p response.body
146
+
147
+
148
+
149
+ # 適当なファイルへ挿入
150
+
151
+ File.open("./net_http.html", "w") do |f|
152
+
153
+ f.write(response.body)
154
+
155
+ end
156
+
157
+ ```