diff --git a/src/apps/chat/trade/server/trade.router.ts b/src/apps/chat/trade/server/trade.router.ts index 4422d40ae..ccf3c5b00 100644 --- a/src/apps/chat/trade/server/trade.router.ts +++ b/src/apps/chat/trade/server/trade.router.ts @@ -25,8 +25,17 @@ export const tradeRouter = createTRPCRouter({ .input(z.object({ url: z.string().url().startsWith('https://chat.openai.com/share/') })) .output(z.object({ data: chatGptSharedChatSchema, conversationId: z.string() })) .query(async ({ input: { url } }) => { - const htmlPage = await fetchTextOrTRPCError(url, 'GET', {}, undefined, 'ChatGPT Importer'); + + // add headers that make it closest to a browser request + const htmlPage = await fetchTextOrTRPCError(url, 'GET', { + '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.7', + 'Accept-Encoding': 'gzip, deflate, br', + 'Accept-Language': 'en-US,en;q=0.9', + 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36', + }, undefined, 'ChatGPT Importer'); + const data = await chatGptImportConversation(htmlPage); + return { data: data.props.pageProps.serverResponse.data, conversationId: data.props.pageProps.sharedConversationId,