Я создаю интерфейс для новостей хакеров с angular 7. Обычно я использую общедоступные API, но для служб входа они недоступны.
Я пытаюсь сделать POST-вызов, так каквыполняется приложением OpenSource Android Client для HN, в частности, в этом файле: https://github.com/hidroh/materialistic/blob/master/app/src/main/java/io/github/hidroh/materialistic/accounts/UserServicesClient.java на URL https://news.ycombinator.com/login, установка имени пользователя, пароля и перенаправления в качестве параметров.
К сожалению, мой запросзаблокирован политикой CORS.
Я выполнил тест с почтальоном и вместо этого работает отлично.
Это мой код:
const payload = {
'acct': 'username',
'pw': 'password',
'goto': 'news'
};
const httpOptions = {
headers: new HttpHeaders({
'Content-Type': 'application/json',
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Methods': 'POST, GET, OPTIONS, PUT, DELETE, HEAD',
'Access-Control-Allow-Headers': 'X-PINGOTHER, Origin, X-Requested-With, Content-Type, Accept',
'Access-Control-Allow-Access-Control-Max-Age': '1728000',
})
};
console.log('Try login');
this.http.post('https://news.ycombinator.com/login', payload, httpOptions)
.pipe(
tap(
data => console.log(data),
error => console.log(error)
)
).subscribe(result => console.log(result));
как я могу решить?