|
Here's an example of a site using GraphQL without using a token. A simple HN search script to fetch Algolia JSON. No need to be logged in to HN. #!/bin/sh
test $# -gt 0||exec echo usage: $0 query
DATA=$(echo '{"query":"'$@'","analyticsTags":["web"],"page":0,"hitsPerPage":30,"minWordSizefor1Typo":4,"minWordSizefor2Typos":8,"advancedSyntax":true,"ignorePlurals":false,"clickAnalytics":true,"minProximity":7,"numericFilters":[],"tagFilters":["story",[]],"typoTolerance":"min","queryType":"prefixNone","restrictSearchableAttributes":["title","comment_text","url","story_text","author"],"getRankingInfo":true}');
HOST=uj5wyc0l7x-3.algolianet.com
_PATH="/1/indexes/Item_production_sort_date/query?x-algolia-agent=Algolia%20for%20JavaScript%20(4.0.2)%3B%20Browser%20(lite)&x-algolia-api-key=8ece23f8eb07cd25d40262a1764599b1&x-algolia-application-id=UJ5WYC0L7X"
# HTTP client (curl)
#curl -A "" -d "$DATA" "https://$HOST$_PATH"
# TCP client
#echo "
#foreground=no
#[x]
#accept=127.0.0.8:80
#client=yes
#connect=167.114.119.142:443
#options=NO_TICKET
#options=NO_RENEGOTIATION
#renegotiation=no
#sni=
#sslVersion=TLSv1.3
#" |stunnel -fd 0;
#tr @ '\r' <<eof|openssl s_client -connect $HOST:443 -ign_eof
#tr @ '\r' <<eof|bssl s_client -connect $HOST:443
#tr @ '\r' <<eof|nc -vvn 127.8 80
tr @ '\r' <<eof|socat stdio,ignoreeof ssl:$HOST:443,verify=0
POST $_PATH HTTP/1.1@
host: $HOST@
content-length: ${#DATA}@
content-type: x-www-form-urlencoded@
connection: close
@
$DATA
eof
#x=$(ps ax|sed -n "/stunnel.-fd.0/{s/ *//;s/ .*//p;q}")
#test ! $x||kill $x
|