Httparty заголовки - PullRequest
       18

Httparty заголовки

0 голосов
/ 30 мая 2018

Что с этим не так?

HTTParty.get("https://www.instagram.com/#{username}/?__a=1", :headers => {"x-instagram-gis" => Digest::MD5.hexdigest("#{rhx_gis}:/#{username}/")})

Если я делаю то же самое, используя curl, пропуская заголовки через --header, это работает.

curl "https://www.instagram.com/hossamhossny/" | grep "rhx_gis"

Мы можемзатем возьмите rhx_gis значение, затем MD5 "<rhx_gis>:/username/" как "1ba367317d3c842eb4e940f1d62b29f2:/hossamhossny/", чтобы получить значение x-instagram-gis как "2830c5bff8e05b755724df2c6286f2b4".

Теперь с помощью curl я могу сделать это ..

curl --header "x-instagram-gis:2830c5bff8e05b755724df2c6286f2b4" "https://www.instagram.com/hossamhossny/?__a=1"

, который производит желаемый вывод ..

{"logging_page_id":"profilePage_3669759838","show_suggested_profiles":false,"graphql":{"user":{"biography":"","blocked_by_viewer":false,"country_block":false,"external_url":null,"external_url_linkshimmed":null,"edge_followed_by":{"count":222},"followed_by_viewer":false,"edge_follow":{"count":55},"follows_viewer":false,"full_name":"Hossam SAld HossNy","has_blocked_viewer":false,"highlight_reel_count":0,"has_requested_viewer":false,"id":"3669759838","is_private":false,"is_verified":false,"mutual_followers":null,"profile_pic_url":"https://scontent-dfw5-1.cdninstagram.com/vp/6d079f6b5b60323cbfc4442c460d0e52/5BA22630/t51.2885-19/s150x150/13628116_1250649874979851_160235967_a.jpg","profile_pic_url_hd":"https://scontent-dfw5-1.cdninstagram.com/vp/6d079f6b5b60323cbfc4442c460d0e52/5BA22630/t51.2885-19/s150x150/13628116_1250649874979851_160235967_a.jpg","requested_by_viewer":false,"username":"hossamhossny","connected_fb_page":null,"edge_felix_video_timeline":{"count":0,"page_info":{"has_next_page":false,"end_cursor":null},"edges":[]},"edge_owner_to_timeline_media":{"count":0,"page_info":{"has_next_page":false,"end_cursor":null},"edges":[]},"edge_saved_media":{"count":0,"page_info":{"has_next_page":false,"end_cursor":null},"edges":[]},"edge_media_collections":{"count":0,"page_info":{"has_next_page":false,"end_cursor":null},"edges":[]}}}}

Переключение обратно на HTTParty Я попробовал это:

HTTParty.get("http://www.instagram.com/#{username}/?__a=1", :headers => {"x-instagram-gis" => "2830c5bff8e05b755724df2c6286f2b4"})

, но это тоже не сработало;403 несанкционированная ошибка.Моя проблема в том, что я не могу правильно передать заголовки, используя HTTParty.

1 Ответ

0 голосов
/ 30 мая 2018

URL с SSL вернул ошибку, но ниже упомянутый работал для меня.

Попробуйте использовать его с http (без https)

HTTParty.get("http://www.instagram.com/#{username}/?__a=1", :headers => {"x-instagram-gis" => Digest::MD5.hexdigest("#{rhx_gis}:/#{username}/")})
...