#substrate
Вопрос:
Проблема
- Я хочу получить данные с Github, используя Offchain-worker субстрата.
- Работает следующий пример.
- Однако, когда я изменяю URL-адрес на Github, я получаю ошибку с функцией «в ожидании.try_wait».
- Я добавляю его, потому что мне нужен «Агент пользователя», чтобы отправить Http-запрос на Github.
- Если кто — нибудь знает, почему это не удается, не могли бы вы, пожалуйста, сказать мне?
Успешный образец
let deadline = sp_io::offchain::timestamp().add(Duration::from_millis(2_000));
let request =
http::Request::get("https://min-api.cryptocompare.com/data/price?fsym=BTCamp;tsyms=USD");
let pending = request.deadline(deadline).send().map_err(|_| http::Error::IoError)?;
let response = pending.try_wait(deadline).map_err(|_| http::Error::DeadlineReached)??;
if response.code != 200 {
log::warn!("Unexpected status code: {}", response.code);
return Err(http::Error::Unknown)
}
Образец для отказа
let deadline = sp_io::offchain::timestamp().add(Duration::from_millis(2_000));
let request =
http::Request::get("https://api.github.com/orgs/substrate-developer-hub");
let pending = request
.add_header("User-Agent", "SampleAgent")
.deadline(deadline).send()
.map_err(|_| http::Error::IoError)?;
let response = pending.try_wait(deadline).map_err(|_| http::Error::DeadlineReached)??; -> ### Error is Occuered.
if response.code != 200 {
log::warn!("Unexpected status code: {}", response.code);
return Err(http::Error::Unknown)
}
Комментарии:
1. Может быть, еще раз просмотреть мой пример кода? эмм
2. github.com/saintfeng/slides/blob/…
3. В вашем образце также обнаружена ошибка в том же месте.
4. код этой части пришел от Джимми, который дал урок ocw. раньше это хорошо работало. Вы уверены, что можете запросить агента пользователя «sampleagent»?
5. Спасибо вам за ваш комментарий. Я изменил пользовательский агент на «jimmychu0807» и запустил его, как в примере, но получил ту же ошибку в том же месте.