HTTP GET/POST isteği ile ilgili yeni bir kullanıcıyım. Bir çeşit izin gerektiren bir get isteği kullanmak istiyorum.HTTP Oturum anahtarı ile oturum açma isteği
Aşağıdaki api'yi API DOCUMENTATION kullanmaya çalışıyorum.
altındabuna aşağıdaki parametreleri istediğini söylüyor "listesini almak":
require 'openssl'
require 'base64'
require 'uri'
require 'net/http'
require 'json'
username = 'MYUSERNAME'
password = 'MYPASSWORD'
service = 'NEXTAPI'
# Create auth
string = Base64.encode64(username) + ':' + Base64.encode64(password) + ':' + Base64.encode64((Time.now.\
to_i * 1000).to_s)
public_key_data = File.read(service + '_TEST_public.pem')
public_key = OpenSSL::PKey::RSA.new(public_key_data)
auth = URI::escape(Base64.encode64(public_key.public_encrypt(string)),
Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))
# Setup HTTPS
http = Net::HTTP.new('api.test.nordnet.se', 443)
http.use_ssl = true
# Get status of server
response = http.get('/next/2/', {'Accept' => 'application/json'})
puts response.body
# POST login
response = http.post('/next/2/login', "auth=#{auth}&service=#{service}", {'Accept' => 'application/json'})
puts response.body
data = JSON.parse(response.body)
session_key = data['session_key']
auth_string = "Basic " + session_key + ":" + session_key
response = http.get('/next/2/lists', {'Authorization' => auth_string })
puts response
:
Parameters
- Accept-Language: Language prefered in the response. Note: nb and nn will return the same as no header string
- Authorization: Basic auth. The session_id should be sent as both username and password header string
Kendimi yetkilendirmek için aşağıdaki kodu kullanabilirsiniz, ancak son "istekleri GET" hata veriyor
Burada neyin yanlış gittiğinden emin değil misiniz? Ya da ne yapmam gerekiyor. Aşağıdaki hatayı alıyorum.
#<Net::HTTPNotAcceptable:0x007fac74276d20>
Soru 1: Oturum anahtarımı hem kullanıcı adı hem de parola olarak nasıl düzgün gönderirim? Soru 2: Gerçekten nasıl parametre ve başlık gönderirim ve farklılıklar nelerdir? Soru 3: Bir GET veya POST talebi gönderdiğime bağlı olarak, üstbilgiler/parametreler açısından neyin gerekli olacağı bir farklılık var mı?
Teşekkürler