'getting 403 status code using python requests module while making post request
403 forbidden
I am trying to scrape priceline.com but using the below code I am getting a 403 error. plz help
Here I am using headers and payload to make a post request. But getting 403 status code. Not able to figure out what am I doing wrong.
import requests
# URL of API to make a call
URL = "https://www.priceline.com/pws/v0/pcln-graph/"
headers = {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-GB,en-US;q=0.9,en;q=0.8",
"Apollographql-Client-Name": "relax",
"Apollographql-Client-Version": "master-1.1.910",
"Content-length": "8142",
"Content-type": "application/json",
"Cookie": "PL_CINFO=349a89dc15301f3eec2d833947878b34~1652115866~v2; SITESERVER=ID=349a89dc15301f3eec2d833947878b34; rl_page_init_referrer=RudderEncrypt%3AU2FsdGVkX1%2BUe8yvMYKkXWU28PHqLyMC16GjcPDq780%3D; rl_page_init_referring_domain=RudderEncrypt%3AU2FsdGVkX19ukyvToj870RCvcviI%2FoPSgXipYL5wSBg%3D; _pxvid=148668a7-cfba-11ec-a59e-566566584f6d; ftr_ncd=6; G_ENABLED_IDPS=google; _gcl_au=1.1.1775993005.1652115889; _fbp=fb.1.1652115888796.2074105495; __pdst=226c70a74763462893ff06610794b5df; __gads=ID=5a5bda2a1ee1f13c:T=1652115870:S=ALNI_MZCeI52sYD9VJxEV2XAfTb7m8MmNA; _lc2_fpi=e176af9f9712--01g2my3t47hbgnmar9jfs2dk6m; vid=v202205191433486302a5fb; _pxhd=8Y24DWlWuLBl7RAAe79KDY4ZYntDF4I/5h8J1npsF47ii5/NiTruo9YtHLKPcREcqtpf7dzc/e4oPNjIiLBS1w==:w/IJ/Uo8Gs0Bavhe3h6Okf9y3rVMfJT9HjHetyQ/NMlay2K8nVcYRxovxJwZ4RWIOdUTOGmoL53wBoLdA9QPSDXzuINv9Rr/0lUloJpmwMk=; SL_G_WPT_TO=en; pxcts=b39b9c94-d780-11ec-b4dc-516c41697a56; load_fs_for_user=false; should_log_to_splunk=false; SL_GWPT_Show_Hide_tmp=1; SL_wptGlobTipTmp=1; _gid=GA1.2.660709288.1652970850; __gpi=UID=0000053cd5909eb7:T=1652115870:RT=1652970832:S=ALNI_MYdDX6xZH7lstDiEyRVYbj4wnEt3Q; DCS=MnwxNjUyOTcwOTQ2fndlc3QtcmVnaW9u.UDA2WTQvRDdiNFZVSFhBN2kyOFBCeE1KREdBZHVzZDlCYnBlMXhvaEVnaz0=; _li_dcdm_c=.priceline.com; cto_bundle=IcRVFV8wR1pYSXZZYzlmJTJCTDhjZk8wOXE1RnlocTZGbDYlMkZqcHVhYlpyaTI0UGVvQ3Q0VFdFSzNFdDc4TExtdUJHWFo2ZjRKdkR0dG0zV05zMTBJSDNoOFhwekJoRGxBWGExZFNMaGhoS1dtVUxKRHBYbndaUVElMkZMT29zbWtNNloyTndJOVFqQzZ4UGVkaVNwcXo1Q1RrUEpmVFElM0QlM0Q; AMP_TOKEN=%24NOT_FOUND; rl_user_id=RudderEncrypt%3AU2FsdGVkX1%2FB9dm%2BQuQ9vm3r%2FF9pKUAEcTllH7LKwR8%3D; rl_anonymous_id=RudderEncrypt%3AU2FsdGVkX1%2BURNl%2FSY%2BpmeZ1t5%2BJDxWgSp4k1vxUsmJhZz8w%2FiDyx9ZO6BQUwqGUJF0UnXgWMHVaiST4fIaCRw%3D%3D; rl_group_id=RudderEncrypt%3AU2FsdGVkX19FhnmWUzpYhHh1OgPdWSxWXRhkTrN2728%3D; rl_trait=RudderEncrypt%3AU2FsdGVkX185yjgUPvAyCRcNimdZUYnyTdsrR6K4tdY%3D; rl_group_trait=RudderEncrypt%3AU2FsdGVkX19QYYhXNYWrrGxc7DaWaEnLAaJc9d4oK0Y%3D; OptanonConsent=isIABGlobal=false&datestamp=Thu+May+19+2022+22%3A58%3A38+GMT%2B0530+(India+Standard+Time)&version=6.6.0&hosts=&consentId=ee6583b8-29ca-42af-86d4-4d4b7bcd5b1d&interactionCount=1&landingPath=NotLandingPage&groups=C0001%3A1%2CC0002%3A1%2CC0004%3A1%2CC0003%3A1%2CSPD_BG%3A1&AwaitingReconsent=false; forterToken=9c25c5f548ad4b65b324e2d5ca693810_1652981318259__UDF43_6; _ga_DC72C50JN6=GS1.1.1652981317.7.1.1652981319.58; _ga=GA1.2.2126808309.1652115888; utag_main=v_id:0180a9c7d91d008116ac592bb2f005073004006b007e8$_sn:5$_se:2$_ss:0$_st:1652983122495$ses_id:1652981321786%3Bexp-session$_pn:1%3Bexp-session; Referral=CLICKID=&WEBENTRYTIME=5%2F19%2F2022%2017%3A28%3A39&ID=DIRECT&PRODUCTID=&SOURCEID=DT; _px2=eyJ1IjoiMWU5OGM3ZTAtZDc5OS0xMWVjLTgwYzMtNDU0OTAyMjI3ZjU3IiwidiI6IjE0ODY2OGE3LWNmYmEtMTFlYy1hNTllLTU2NjU2NjU4NGY2ZCIsInQiOjE2NTI5ODIwODM1MDcsImgiOiIyNjJjY2Q0NzhjMDExZmUwNGM2M2RhOTYyMGVhN2IwN2RlNzM0NDdhZWM1MDcyNjQyNjc1NmUwOWMxMjhhYTY4In0=; _pxde=dbb00993b7e47c317964917bc132c31ed7dc412d28afe0752c56b75de6622c92:eyJ0aW1lc3RhbXAiOjE2NTI5ODE3ODM1MDcsImZfa2IiOjB9; pclnguidse=4a916fdafde1b10d6a639a0569ac9929329cacfc; pclnguidpe=4a916fdafde1b10d6a639a0569ac9929329cacfc",
"Origin": "https://www.priceline.com",
"Referer": "https://www.priceline.com/relax/in/3000015284/from/20220519/to/20220520/rooms/1/adults/2?vrid=5a48c5528fa1aab89b39653be894a9fe",
"sec-ch-ua": '" Not A;Brand";v="99", "Chromium";v="101", "Google Chrome";v="101"',
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": '"Windows"',
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.4951.67 Safari/537.36",
}
payloader = {
"query": "query getAllListings($addErrToResponse: Boolean, $adults: Int, $allInclusive: Boolean, $amenities: [String], $appCode: HotelAppCodeEnum, $authToken: ID, $bedCounts: [BedCount], $brands: [ID], $cguid: ID, $checkIn: DateString, $checkOut: DateString, $children: [String], $clientIP: String, $clusters: [ID], $cugdor: String, $currencyCode: HotelCurrencyEnum, $dealTypes: [String], $first: Int, $hotelName: String, $includePSLResponse: Boolean, $includePrepaidFeeRates: Boolean, $locationID: ID, $maxPrice: Float, $metaHotelId: ID, $metaID: String, $minGuestRating: Float, $minPrice: Float, $multiOccDisplay: Boolean, $multiOccRates: Boolean, $offset: Int, $pageName: String, $popcountMins: Int, $preferredHotels: [ID], $productTypes: [HotelProductEnum], $propertyTypeIds: String, $rID: ID, $rateFilterParams: [String], $rateID: ID, $refClickID: String, $refURL: String, $rguid: ID, $roomCount: Int, $semSearch: String, $sortBy: HotelSortEnum, $starRatings: [StarRating], $unlockDeals: Boolean, $userCountryCode: String, $vipDeals: Boolean, $visitId: String, $packageListingsSearchQuery: HotelUnifiedSearchArguments, $cityID: ID, $latitude: Float, $locationName: String, $longitude: Float, $maxLat: Float, $maxLon: Float, $minLat: Float, $minLon: Float, $plfCode: String, $useContentDataSeti: Boolean) {\n listings: hotelListings(addErrToResponse: $addErrToResponse, adults: $adults, allInclusive: $allInclusive, amenities: $amenities, appCode: $appCode, authToken: $authToken, bedCounts: $bedCounts, brands: $brands, cguid: $cguid, checkIn: $checkIn, checkOut: $checkOut, children: $children, clientIP: $clientIP, clusters: $clusters, cugdor: $cugdor, currencyCode: $currencyCode, dealTypes: $dealTypes, first: $first, hotelName: $hotelName, includePSLResponse: $includePSLResponse, includePrepaidFeeRates: $includePrepaidFeeRates, maxPrice: $maxPrice, metaHotelId: $metaHotelId, metaID: $metaID, minGuestRating: $minGuestRating, minPrice: $minPrice, multiOccDisplay: $multiOccDisplay, multiOccRates: $multiOccRates, offset: $offset, pageName: $pageName, popcountMins: $popcountMins, preferredHotels: $preferredHotels, productTypes: $productTypes, propertyTypeIds: $propertyTypeIds, rID: $rID, rateFilterParams: $rateFilterParams, rateID: $rateID, refClickID: $refClickID, refURL: $refURL, rguid: $rguid, roomCount: $roomCount, semSearch: $semSearch, sortBy: $sortBy, starRatings: $starRatings, unlockDeals: $unlockDeals, userCountryCode: $userCountryCode, vipDeals: $vipDeals, visitId: $visitId, packageListingsSearchQuery: $packageListingsSearchQuery, cityID: $cityID, latitude: $latitude, locationID: $locationID, locationName: $locationName, longitude: $longitude, maxLat: $maxLat, maxLon: $maxLon, minLat: $minLat, minLon: $minLon, plfCode: $plfCode, useContentDataSeti: $useContentDataSeti) {\n packageComponentSummary\n packageTripTypes\n numberOfTravelers\n totalPackagePricingText {\n packagePrice\n perText\n __typename\n }\n rguid\n errorMessage\n offset\n pageSize\n totalSize\n sortType\n hotels {\n isMostFavorited\n debugString\n debugHotelInfo\n hotelId\n pclnId\n retailPclnId\n brandId\n name\n description\n displaySavingsPct\n displaySavingsDisclaimer\n displayRoomsLeft\n overallGuestRating\n proximity\n signInDealsAvailable\n signInDealsMinRate\n propertyTypeId\n keyFeatures\n location {\n address {\n addressLine1\n addressLine2\n cityName\n provinceCode\n isoCountryCode\n __typename\n }\n cityId\n neighborhoodName\n neighborhoodID\n neighborhoodDescription\n latitude\n longitude\n zoneId\n __typename\n }\n metaSearch {\n priceChangeCode\n pclnPrice\n clickedPrice\n currency\n __typename\n }\n hotelFeatures {\n rankedAmenityList\n highlightedAmenities\n breakfastDetails\n __typename\n }\n hotelType\n ratesSummary {\n displayPricePerStay\n displaySavingsStrikePrice\n gid\n programName\n payWhenYouStayAvailable\n freeCancelableRateAvail\n couponApplicable\n minRateSavingsPercentage\n minCurrencyCodeSymbol\n merchandisingFlag\n roomLeft\n minPrice\n minStrikePrice\n minCurrencyCode\n savingsClaimPercentage\n savingsPct\n savingsAmount\n preferredRateId\n pricedOccupancy\n rateIdentifier\n perText\n minRatePromos {\n type\n title\n discountType\n discountPercentage\n displayStrikethroughPrice\n displayStrikethroughPriceCurrency\n isVariableMarkupPromo\n showDiscount\n dealType\n __typename\n }\n packageTripSummary {\n displayPricePerPerson\n name\n type\n __typename\n }\n incrementalSign\n __typename\n }\n sponsoredInfo {\n clickTrackingUrl\n impressionTrackingUrl\n details\n detailsHeadline\n trackingData\n __typename\n }\n recmdScore\n totalReviewCount\n metaId\n mobileMerchandisingContent {\n color\n text\n bold\n __typename\n }\n thumbnailUrl\n images {\n imageHDUrl\n imageUrl\n description\n __typename\n }\n starRating\n displayRoomsLeft\n displayStrikePrice\n cugProgramName\n channelName\n programDisplayType\n partialUnlock\n sopqImageKey\n sopqDealName\n bedChoiceAvailable\n amenitiesIcons {\n iconName\n amenityName\n __typename\n }\n packageListingKeys {\n itemDetailsKey\n itemKey\n componentKey\n componentIndex\n flyItemKey\n __typename\n }\n __typename\n }\n tripFilterSummary {\n amenityCounts\n availableBrands {\n brandID\n name\n count\n __typename\n }\n avgFilterPrice\n bedCountFilterCounts\n clusterCounts\n dealTypeCounts\n groupedPropertyTypes {\n name\n propertyTypeIds\n count\n __typename\n }\n guestRatingPlusCounts\n maxFilterPrice\n minFilterPrice\n rateFilterCounts\n similarZones\n starRatingCounts\n totalSizeFiltered\n totalVipHotelCount\n __typename\n }\n programNames\n cityInfo {\n stateCode\n stateName\n cityName\n countryCode\n countryName\n cityId\n displayCityName\n lat\n lon\n superClusterInfo {\n superClusterId\n superClusterName\n subclusterList {\n subclusterId\n subclusterName\n __typename\n }\n __typename\n }\n searchedItemName\n searchedLatitude\n searchedLocationType\n searchedLongitude\n zonePolygonInfo\n __typename\n }\n signInDealRelatedInfo {\n numberOfAvailableSignInDeals\n numberOfDisclosedSignInDeals\n promptUserToSignIn\n __typename\n }\n packageMissingProductBannerCopy\n componentKeyMapFromUSP {\n type\n componentKey\n index\n __typename\n }\n sessionKeyfromUSP\n __typename\n }\n}\n",
"variables": {
"locationID": "3000015284",
"sortBy": "HDR",
"visitId": "202205191433486302a5fb-RRLXGQD",
"addErrToResponse": True,
"checkIn": "20220519",
"checkOut": "20220520",
"clientIP": "157.34.151.76",
"adults": 2,
"dealTypes": "",
"roomCount": 1,
"productTypes": [
"RTL",
"SOPQ"
],
"rID": "DTDIRECT",
"currencyCode": "USD",
"cguid": "349a89dc15301f3eec2d833947878b34",
"includePrepaidFeeRates": True,
"unlockDeals": True,
"includePSLResponse": True,
"offset": 0,
"first": 30,
"appCode": "DESKTOP",
"allInclusive": False,
"vipDeals": False,
"useContentDataSeti": True,
"requestedHotelIds": None,
},
"operationName": "getAllListings"
}
res = requests.post(url=URL , data=payloader)
print(res.status_code)
in payload True , False, None I added but it was originally true , false and null which was giving errors
Solution 1:[1]
I not sure but test this code:
std::hash<std::uint32_t> hasher;
uint32_t num_B = 1+ hasher(num_A) % 1022;
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Alireza Borzuie |
