curb (curl для Ruby) неправильно использует cookiejar - PullRequest
0 голосов
/ 01 июня 2011

Я вижу странное поведение с бордюром, и это cookiejar. В ирб:

>> require 'curl'
=> true
>> a = Curl::Easy.new
=> #<Curl::Easy>
>> a.enable_cookies = true
=> true
>> a.cookiejar = "cookies.txt"
=> "cookies.txt"
>> a.url = "http://www.amazon.com"
=> "http://www.amazon.com"
>> a.perform
=> true

Здесь я хотел бы получить какой-нибудь способ получения файлов cookie amazon.com, но я не могу этого сделать. Файл cookies.txt, который я указал как мой cookiejar, не существует, а метод #cookies просто возвращает nil. Однако, если я выйду из irb, появится файл cookies.txt с соответствующими файлами cookie внутри. Есть предложения?

Спасибо

1 Ответ

0 голосов
/ 13 июня 2011

Я не знаю точно, как работает привязка ruby, но в лежащем в основе API libcurl банка cookie не сохраняется до тех пор, пока дескриптор не будет «убит» с помощью curl_easy_cleanup (). Я бы предположил, что многие ОО-языки не вызывают эту функцию в «объекте» libcurl, пока он не будет убит / каким-либо образом собран мусором или если привязка предоставляет способ явного уничтожения объекта / дескриптора libcurl.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...