web API with R: VIES 增值税验证
web API with R: VIES VAT validation
我想使用 R 和 VIES 网站验证客户的增值税信息。
到目前为止我已经试过了this method
library(curl)
library(xml2)
library(httr)
library(rvest)
url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=FR&iso=FR&vat=23489967794&name=&companyType=&street1=&postcode=&city=&requesterMs=FR&requesterIso=FR&requesterVat=23489967794&BtnSubmitVat=Verify';
test <- GET(url)
rawToChar(test$content)
问题是,这给了我一个只包含奇怪输出的内容,比如 :{\"servletContext\
有人知道如何执行此操作吗?他们有一个 SOAP API 可用,但我还没有找到如何使用它,wsdl 定义是 here
不确定您想要的响应类型。这是通过 html 使用 headers 规范:
library(rvest)
library(httr)
headers = c(
"User-Agent" = "Safari/537.36",
"Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
)
params = list(
"ms" = "FR",
"iso" = "FR",
"vat" = "23489967794",
"name" = "",
"companyType" = "",
"street1" = "",
"postcode" = "",
"city" = "",
"requesterMs" = "FR",
"requesterIso" = "FR",
"requesterVat" = "23489967794",
"BtnSubmitVat" = "Verify"
)
r <- httr::GET(url = "https://ec.europa.eu/taxation_customs/vies/viesquer.do", httr::add_headers(.headers=headers), query = params)
r |> content() |> html_element('.validStyle') |> html_text()
我想使用 R 和 VIES 网站验证客户的增值税信息。
到目前为止我已经试过了this method
library(curl)
library(xml2)
library(httr)
library(rvest)
url = 'http://ec.europa.eu/taxation_customs/vies/viesquer.do?ms=FR&iso=FR&vat=23489967794&name=&companyType=&street1=&postcode=&city=&requesterMs=FR&requesterIso=FR&requesterVat=23489967794&BtnSubmitVat=Verify';
test <- GET(url)
rawToChar(test$content)
问题是,这给了我一个只包含奇怪输出的内容,比如 :{\"servletContext\
有人知道如何执行此操作吗?他们有一个 SOAP API 可用,但我还没有找到如何使用它,wsdl 定义是 here
不确定您想要的响应类型。这是通过 html 使用 headers 规范:
library(rvest)
library(httr)
headers = c(
"User-Agent" = "Safari/537.36",
"Accept" = "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9"
)
params = list(
"ms" = "FR",
"iso" = "FR",
"vat" = "23489967794",
"name" = "",
"companyType" = "",
"street1" = "",
"postcode" = "",
"city" = "",
"requesterMs" = "FR",
"requesterIso" = "FR",
"requesterVat" = "23489967794",
"BtnSubmitVat" = "Verify"
)
r <- httr::GET(url = "https://ec.europa.eu/taxation_customs/vies/viesquer.do", httr::add_headers(.headers=headers), query = params)
r |> content() |> html_element('.validStyle') |> html_text()